java - 使用 DefaultMessageListenerConatiner 时如何动态更改目标队列?

标签 java jms spring-jms

我已经使用 DynamicMessageListenerContainer 配置了一个监听器并将其配置为监听特定队列/目的地,超时为 5 秒。

达到该超时后,我想切换到另一个队列的监听,然后在下一次超时后返回原始队列。

Spring 的文档说这是可能的,但它被认为是高级用法,我找不到如何去做。

任何帮助,将不胜感激。

谢谢

最佳答案

这是一个相当不寻常的要求;为什么不简单地配置两个容器?然而...

container.stop();
contaner.shutdown();
container.setDestination(...); (or setDestinationName())
container.initialize();
container.start();

...效率不高 - 特别是如果您每 5 秒执行一次,但它应该可以工作。

关于java - 使用 DefaultMessageListenerConatiner 时如何动态更改目标队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53911866/

相关文章:

web-services - Spring MessageListener 多个消息

java - 如何配置JBoss/JMS消息速率限制/流量控制

java - 如何在 Spring Boot 中访问 @JmsListener 使用的 Activity JMS 连接/ session

jms - 使用 DefaultMessageListenerContainer 连接到 WebSphere MQ 重复抛出 "Connection closed"

java - 将泛型类型类传递给方法

java - JGoodies 是一个很好用的框架吗?

java - activemq - 等待所有消息被消费

java - 为发布者实现 Spring Retry 逻辑有困难

java - "No row with the given identifier exists"虽然它确实存在

java - 努力理解图形组中的等于