【问题标题】:Spring integration dsl with multiple listeners on same queue but with different selectorsSpring 集成 dsl,在同一队列上有多个侦听器,但具有不同的选择器
【发布时间】:2017-02-15 20:11:41
【问题描述】:

我正在尝试在同一个队列上配置多个侦听器,但使用不同的消息选择器。我正在使用 Solace JMS 提供程序。

行为是第一个加载的侦听器将注册其选择器并正在接收消息。 第二个听众没有收到消息。并使用 Spring 集成 DSL 1.1.3

有什么问题吗?

我尝试了两个不同的队列连接工厂,但无法正常工作。

我们如何配置两个选择性消费者?

【问题讨论】:

  • 感谢您的回复。查看了 Solace 的队列配置。它具有在独占和非独占模式下启用队列的属性。我们将其更改为非独占模式。这使它工作。尽管应用程序使用不同的连接工厂。我希望他们在一个应用程序中使用一个连接工厂。我还需要测试它。

标签: spring spring-integration


【解决方案1】:

我认为您应该首先从您的供应商开始,并尝试弄清楚它是否支持并发选择性消费者。

尽管您必须记住,对于Queue,无论如何只有一个消费者接受消息。因此,如果第一个能够处理消息,那么即使使用不同的选择器,第二个也不会收到它。

考虑切换到Topic

【讨论】:

  • 仅供参考,我刚刚用activemq对其进行了测试,效果很好。
  • 同意 Artem,我正在联系 jms 提供商安慰 jms。我认为这是任何提供者中的基本队列路由功能,以实现选择性消费者模式。要求是根据标头值路由消息,队列中的选择性消费者似乎是正确的方法。
  • 感谢 Gary 对 activemq 的确认。它有帮助。我喜欢 DSL 配置,它使它快速且无错误。谢谢,
猜你喜欢
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
  • 2015-12-05
  • 1970-01-01
  • 2018-04-08
  • 2021-09-17
相关资源
最近更新 更多