0

我使用 Spring JMS 和 ActiveMQ 作为代理并在 Tomcat 上运行应用程序。我见过许多使用receiveSelected(..) 与指定消息选择器同步接收消息的示例。但是我找不到任何方法来动态指定 jms:listener-container 上的消息选择器以异步接收消息。选择器仅在运行时才知道。

我能想到的唯一方法是改用 DefaultMessageListenerContainer 并在每次需要新选择器时创建一个新实例。但我不确定这是否是正确的方法和这样做的最佳实践。例如,与选择器关联的 listenerContainer 是否应该被缓存?什么时候应该关闭等?

如果有人能给我举个例子或概述处理这种情况的策略,我将不胜感激。

提前致谢!

4

1 回答 1

1

您不能在容器运行时更​​改选择器(可以,但只有新的侦听器线程会使用它)。您可以停止容器,修改选择器以包含新条件,然后重新启动容器。

于 2013-09-06T20:11:25.967 回答