问题标签 [jms-topic]

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 投票
2 回答
2881 浏览

java - 运行 jms 队列时,生产者发送消息,消费者获取消息,但未显示消息

嗨,我有 java 代码,它有一个生产者和一个消费者。生产者将消息发送到队列,消费者也收到消息,但我不知道为什么不显示消息。我正在使用 activeMQ 并且因为我没有收到消息所以我在 http:/localhost:8161/admin/queues.jsp 中签入,它显示队列有生产者和消费者但是消息没有打印在命令提示符。请告诉我

生产者.java

消费者.java

0 投票
1 回答
472 浏览

jms - JMS-Topic通信的正确使用

我想在我的 JavaEE 6 项目中使用 JMS(主题)。我有一个类可以同时充当主题的发布者和订阅者。以下代码显示了该类中最重要的部分。

我的问题是,如果这是设计这样一个类的好方法。我的想法是为订阅和发布共享一个连接和会话。但我担心这会导致一些开销或阻塞,因为我不会关闭连接、会话、订阅者和发布者,直到不再需要该对象。我在网上找到的所有示例都在发送或接收消息后直接关闭所有内容......

提前致谢!

0 投票
1 回答
2548 浏览

jms - JBoss 7 - 无法解析文件 META-INF/hornetq-jms.xml

我需要在部署 Web 应用程序时配置 JMS 主题。我不得不为此使用部署描述符。hornetq-jms.xml

但是在部署过程中我遇到了这样的错误:

0 投票
1 回答
492 浏览

java - JMS 订阅者在一段时间后停止从主题获取消息

我注意到订阅 JMS 主题的进程在一段时间内没有消息发布到该主题后停止接收发布到该主题的消息(这次我无法准确量化,但让我们说一分钟)。我正在使用 JBoss Application Server v4.2 来管理主题。

知道为什么会这样,以及如何确保我的订阅者即使在没有任何内容发布到他们的主题之后仍然能够收到消息?

0 投票
1 回答
1380 浏览

jms - ActiveMQ - “随机”缓慢的订阅者 - 导致主题填满

我有一个主题,其中有多个使用默认预取运行的订阅客户端。如果其中一个客户端速度很慢,它会减慢其他订阅的客户端。我想动态降低慢速消费者的预取限制,但由于客户端随机变慢,这需要动态完成。

我想对以下解决方案进行原型设计:为每个订阅者创建队列。线程池将从主题中删除事件并将事件复制到我的队列中。现在,由于我为每个订阅者设置了队列,因此每个客户端都是相互独立的。我将为每个队列设置预取限制。一旦达到该限制,我将放弃这些事件。缺点:现在每个队列都需要内存。

我想对上述解决方案或您认为可能适合我的情况的任何其他解决方案提出一些看法。

我在下面为我的用例添加了更多详细信息:
listener1 处理速度:142 rps - listener2 处理速度:10 rps

事件产生速度 - 100 rps

默认预取限制:32000

情况 1:当两个侦听器的预取限制相等时。在 ~ 761 秒内 - 主题在开始删除事件之前已满。

案例 2:当慢消费者的预取限制小于快速消费者的预取限制 listener2 预取限制:64K 以上解决方案效果很好

并非有时听众 2 的处理速度会增加,而听众 1 的处理速度会降低(注意处理速度不会完全反转,但我使用的是极值)并且 case2 不起作用。现在 listener1: 10 rps listener2: 142 rps 在开始丢弃事件之前,主题需要 1523 秒才能充满。一旦它开始丢弃事件,侦听器 1 也将以与侦听器 2 相同的速度开始处理。

我正在寻找让每个听众独立运行而不阻碍其他听众的建议?

0 投票
1 回答
155 浏览

weblogic - WebSphere MQ 6.0:无法从非持久切换到持久

当我从非持久主题订阅者切换到持久主题订阅者时,我无法查找之前可以阅读的主题名称(使用 JNDI)。

当正在查找主题时,它会在管理控制台中出现错误:

我正在使用 Oracle WebLogic Server 管理控制台来设置 WebSphere 队列。在控制台上,我进行了以下更改:

  • 对于持久存储,在配置选项卡上,添加了一个名为的文件存储ItftFileStore
  • 对于持久存储,在配置选项卡上,添加了一个目录。
  • 对于 JMS 服务器,在 Configuration -> General 选项卡上,将 Persistent Store 更改为ItftFileStore
  • 对于 JMS 服务器,在配置 -> 常规选项卡 -> 高级中,选中该Store Enabled字段。
  • 对于 ItftTopic,配置 -> 覆盖选项卡,更改Delivery Mode OverridePersistent.

这是我正在运行的代码。对相关行有一些评论。

0 投票
1 回答
491 浏览

jms - 如何向服务集成总线目标主题空间发送消息

我是服务集成总线的新手。我已经配置了一个总线,并将我的 websphere 门户服务器添加为总线成员。接下来已经创建了一个主题连接工厂,并在这里选择了创建的总线,我想向服务集成总线默认主题空间发送消息。我不确定如何使用 JMS 向默认主题空间发送消息

0 投票
1 回答
578 浏览

jms - HornetQ JMS 主题到主题桥

我正在尝试在两个主题之间架起一座桥梁。这个想法是这样的:

  • 通知被发布到 HornetQ 服务器 A 上的主题
  • 此通知被发送到 HornetQ 服务器 B 上的主题(通过网桥?)
  • 客户端应用程序从服务器 B 获取通知。

我需要这样做的原因是,如果服务器 B 关闭,我们仍然希望主题向上并最终交付给订阅服务器。

我需要的是一个示例 hornetq-configuration.xml 和 hornetq-jms.xml 来证明这一点。还是我看错了,有更好的方法吗?

我正在使用 HornetQ 2.2.14.Final。

0 投票
1 回答
1133 浏览

wso2 - 从 esb 的代理向 Message Broker 的主题发布消息时出错

每当我尝试将消息从 esb 发布到消息代理的主题时,我都会收到此错误

我的代理代码是

我的 jndi 配置和轴 2 配置已正确配置。我的 MB 在端口 9444 上运行,Publisher_esb 在端口 9443 上运行,订阅者 esb 在端口 9446 上运行。当我保持订阅者处于活动状态,然后如果我从发布者发布消息消息被反映给订阅者。

从订户获取消息的代码是

当我第一次运行订阅者时,它给了我结果,但之后它给出了异常:

我不能在不激活我的订阅者的情况下向该主题发布消息。我怎样才能使我的消息持久或持久?我还有一个问题是:如何获取与我创建的主题相关联的队列名称,或者我可以专门为我的主题 myTopic 创建一个队列吗?期待您的回答。提前致谢

0 投票
1 回答
1449 浏览

wso2 - WSO2 MessageBroker:创建持久订阅者时抛出 org.wso2.andes.AMQTimeoutException 错误

我有一个充当订阅者的代码。我创建了持久订阅者。所以由于这个原因,我得到了例外

但是当我创建普通订阅者时,我的代码运行良好并且没有错误。为什么我收到此错误?还有一个问题-我如何退订该主题?

我的订阅者代码是: