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

时间:2018-12-24 09:58:41

标签: java jms spring-jms

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

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

Spring的文档说有可能,但是它被认为是高级用法,我找不到方法。

任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

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

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

...效率不高-尤其是每5秒钟执行一次,但是应该可以。