当前位置: 首页 > 知识库问答 >
问题:

单个JMS队列上的多个使用者

武睿
2023-03-14

JMS队列有2个消费者,同步和异步Java应用程序进程等待响应。1)同步应用程序发送请求,并根据JMS相关ID等待响应60秒。2)异步线程将不断侦听同一队列。

共有1个答案

诸经略
2023-03-14

通常不能保证负载会均匀分布,尤其是在同步和异步的情况下。消费者。同步使用者将不得不轮询,等待,轮询,等待。消费者可能在单独的线程中等待套接字,直到消息到达,然后调用您的回调。所以异步。消费者永远是第一位的。

你有没有机会改变主题,丢弃你不习惯的消息?或者更改同步。消费者是异步的?另一种选择是在同步使用者前面构建一个小的“ASNYC”网关:一个小应用程序,它进行异步消费,然后将接收到的每个消息复制到第二个队列中,在那里进行同步。消费者拿起它。根据您的JMS提供者,它可能已经支持这种类型的“JMS桥”-您在使用什么?

 类似资料:
  • 问题内容: 我有一个带有HornetQ的JBoss-6服务器和一个队列: 有一个不同的消费者(在不同的机器)连接到这个队列中,但只有一个 单一的 消费者是活动的时间。如果我关闭此使用者,则消息将立即由其他使用者之一处理。 由于我的消息需要一些耗时的处理,因此我希望多个使用者同时处理其唯一消息。 我记得在早期版本的JBoss中也有类似的情况,该设置可以正常工作。在Jboss-6中,消息传递系统运行良

  • 问题内容: 我有多个包含要发送的消息的BlockingQueues。消费者数量可能少于队列数量吗?我不想遍历队列并继续轮询它们(忙于等待),并且我不想为每个队列都分配一个线程。相反,当任何队列中都有消息可用时,我想唤醒一个线程。 问题答案: 您可以做的一个技巧是让队列排队。因此,您要做的是只有一个阻塞队列,所有线程都订阅该队列。然后,当您将某些内容排队到其中一个BlockingQueues中时,您

  • 我是新手RabbitMQ java客户端。我的问题:我创建了10个consumer并将它们添加到队列中。每个消费者使用10秒来处理我的流程。我检查了Rabbit的页面,我看到我的队列有4000条消息没有发送到客户端。我检查了日志客户端,结果是为一个消费者获取一条消息,10秒后,我为一个消费者获取一条消息,依此类推…我想要得到10个消息为所有消费者在当时(10个消息-10消费者过程在当时)请帮助我,

  • 将来自许多不同来源(实际上是队列/主题)的消息聚合到单个队列/主题中,然后使用它的最佳方法是什么。我正在尝试设计一个应用程序,以使用weblogic从JMS中的不同主题接收消息。

  • 我有一个由第三方发布的JMS队列。我想在不同的机器上设置多个使用者,只有一台特定机器的使用者确认该队列上的消息。简而言之,如果特定机器的使用者没有接收到消息,那么该消息不应从队列中删除。这是可以实现的吗?

  • 我刚刚开始使用RabbitMQ和AMQP。 我有一个消息队列 我有多个消费者,我想用相同的消息做不同的事情。 RabbitMQ的大部分文档似乎都集中在循环(round-robin)上,即单个消息由单个消费者使用,负载在每个消费者之间分散。这的确是我目击的行为。 例如:生产者只有一个队列,每2秒发送一次消息: 这里有一个消费者: 如果我启动消费者两次,我可以看到每个消费者都在以循环行为消费交替消息。