首页 > 解决方案 > 使用 DefaultMessageListenerConatiner 时如何动态更改目标队列?

问题描述

我已经配置了一个侦听器DynamicMessageListenerContainer,并将其配置为以 5 秒的超时时间侦听特定的队列/目标。

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

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

任何帮助,将不胜感激。

谢谢

标签: javajmsspring-jms

解决方案


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

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

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


推荐阅读