问题标签 [qpid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
183 浏览

java - 解释 qpid-bench 输出

我正在针对几台不同的机器运行 Apache qpid 附带的 qpid-bench 工具,以对性能进行基准测试。我无法找到关于 qpid-bench 程序的输出/结果的任何文档。以下是样本测试的结果:

我猜 NP 是发布的数量,而 NC 是每个窗口消耗的数量。第一个数字是发送/接收消息的数量。第二个和第三个数字是什么意思?

0 投票
3 回答
2808 浏览

java - 使用 apache qpid 时如何处理 jms 消息中的生产者流控制

我正在尝试处理生产者端的流量控制情况。我在 qpid-broker 上有一个队列,其中设置了最大队列大小。在队列上还设置了 flow_stop_count 和 flow_resume_count。

现在生产者继续不断地产生消息,直到达到这个 flow_stop_count。违反此计数时,将引发由异常侦听器处理的异常。现在某个时候,队列中的消费者将赶上并达到 flow_resume_count。问题是制作人是如何知道这个事件的。

这是生产者的示例代码

对于异常监听器

现在 exceptionlistener 是一个通用的异常监听器,所以暂停生产者流通过它应该不是一个好主意。

我需要的可能是生产者级别的一些方法,比如produer.isFlowStopped(),我可以在发送消息之前使用它来检查。qpid api 中是否存在这样的功能。

qpid 网站上有一些文档表明可以这样做。但我在任何地方都找不到任何这样做的例子。

是否有一些标准的方法来处理这种情况。

0 投票
1 回答
1581 浏览

android - Android:从 Android 强制 javax 上的反射实例化 JNDI 工厂

我正在尝试将 Apache Qpid Client、JMS 和 JNDI 移植到 Android。在将 --core-library 参数传递给 Dalvik 以允许 JMS/JNDI 的 javax 包之后运行 ant 调试安装目标时,我能够成功编译/构建我的 QpidDroid 项目。在考虑使用 jarjar 将 javax 类重新打包/重构到不同的包命名空间之前,我希望这样做。

我认为这是合法的,因为我使用的是 Oracle 网站目前提供的旧的/第一个单独的 JNDI jar。我在 Qpid 中使用 Apache Geronimo 附带的 JMS jar,.. 但我认为它也可以从 Oracle 单独下载。我的开发环境使用 Android 平台 2.1 和 jdk 1.6。

问题是,它目前似乎无法实例化我的自定义 jndi 连接工厂:PropertiesFileInitialContextFactory。这是我的 QpidDroid 项目中的 .java 源文件(不是 libs jar 中的 .class)(我从 qpidClient jar 中提取了类)。

有人知道为什么它不能在这里实例化吗?我想知道 proguard 是否会破坏反射,......但我正在使用调试 ant 任务构建它,......所以我认为 proguard 根本不应该运行。当我在模拟器上运行已安装的应用程序时发生异常。我在使用默认端口的同一台机器上运行 Apache Qpid 服务。

感谢您的任何提示!

0 投票
1 回答
746 浏览

jms - 如何在 qpid 中指定队列与 JMS API 中的相同交换?

我正在以下示例

https://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/example/src/main/java/org/apache/qpid/example/Hello.java

在这里,他们有一个交换和一个队列。如何将消息发送到同一交换中的不同队列?如何在消息中指定路由信息?

我正在使用 java / JMS api

0 投票
3 回答
3831 浏览

jms - 是否有适用于所有 AMQP 代理的 JMS API/客户端?

JMS 是 Java 空间中用于消息传递的供应商中立 API。AMQP 的使命是“成为所有消息中间件之间互操作的标准协议”。我正在寻找在 AMQP 供应商之间可互操作的 JMS 客户端实现。具体来说,如果它可以与 RabbitMQ 或 Qpid 对话,那就太好了。

0 投票
4 回答
1992 浏览

java - Apache Qpid - 在消息级别设置路由键

是否有任何选项可以在 Apache Qpid 的消息级别设置路由键。我目前做的方式是

  1. 在地址字符串中指定路由键。使用此目标地址创建一个生产者。

    topic = (Topic) context.lookup("destination"); 发件人 = session.createProducer(topic);

  2. 通过生产者发送消息。

这样所有消息都具有相同的路由键。我想要实现的是为每条消息单独设置一个路由键。

让我知道这是否可以完成

0 投票
2 回答
784 浏览

python - python qpid消息编码

我正在尝试从 python 中的 amqp 代理接收消息。这是我的代码:

但是当我尝试打印消息时,我看到它们的编码很奇怪,并且无法更改消息编码。

我做错了什么?

0 投票
1 回答
157 浏览

java - Apache Qpid/Redhat MRG - 以可移植方式跨不同系统发送日期

Apache qpid 不直接支持发送 Date 类型的对象。我想使用 Apache Qpid 发送从数据库和日期对象中获取的日期时间,这种方式可以跨不同系统移植,即使用 C++/Java 的系统或使用 Apache qpid 的任何其他语言。

我该如何做到这一点,以便在没有任何问题的情况下处理所有常见的事情,如时区分辨率等。

0 投票
1 回答
354 浏览

java - 在不连接的情况下验证 AMQConnection 连接字符串?

Apache Qpid Java 客户端 API 有一个AMQConnection类,用于连接到 Qpid 消息代理。我正在使用单字符串构造函数 ( AMQConnection(String connection))。我有一个实用方法,它首先创建连接字符串,然后将其传递给 AMQConnection 构造函数。

连接字符串的格式为amqp://<username>:<password>@<clientID>/?brokerlist='tcp://<hostname>:<port>'

如果向构造函数传递了一个语法不正确的连接字符串,它会抛出一个URLSyntaxException.

我想将连接字符串语法检查移至实用程序方法(我认为它不应该能够返回损坏的信息),但我没有找到任何验证连接字符串的方法,除非尝试建立与消息代理的连接。有什么方法可以做到这一点,还是我只需要依赖URLSyntaxException构造函数抛出的内容?

0 投票
1 回答
1073 浏览

c++ - QPID C++ 客户端多线程优化

我正在寻找在高消息流量下线程化 C++ Apache QPID 客户端以获得最佳性能的最佳方法。

我们的经纪人将包括 3 个交易所,每个交易所都有 2 个单向队列。c++ 客户端将推送到的 3 个“上行链路”队列上会有大量流量。

有几个文档很少的类用于与 QPID 代理接口。连接、会话、发送者和接收者。连接提供会话,会话提供发送者或接收者。在阅读了各种 QPID 文档后,我不清楚这些对象中哪些是线程安全的(或不是线程安全的),或者哪些会导致在客户端库中创建线程。根据 QPID FAQ,代理的线程发生在会话级别。没有提到它发生在客户端的位置。

客户端应用程序中有多个线程上下文需要将数据推送到上行链路队列之一。最好有一个服务于多个上下文的会话、连接或发件人池吗?或者 QPID 是否在这种情况下内置了优化,这可能意味着 1 个共享发件人就足够了?

目标是在某处不存在单线程瓶颈,而是能够根据存在的流量负载有效地并行扩展。