如何确保两个监听器容器:
<bean id="listenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="messageListener" ref="MessageListener" />
<property name="connectionFactory" ref="tcf" />
<property name="destinationName" value="${jms-topic}" />
<property name="pubSubDomain" value="true" />
</bean>
<bean id="listenerContainer-2"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="messageListener" ref="MessageListener" />
<property name="connectionFactory" ref="tcf" />
<property name="destinationName" value="${jms-topic-2}" />
<property name="pubSubDomain" value="true" />
</bean>
<bean id="MessageListener" class="com.my.url.jms.listener.DefaultMessageListener">
<property name="transformer" ref="transformer" />
<property name="publisher" ref="publisher" />
</bean>接收来自不同主题的消息。线程是安全的吗?
所有消息都将由相同类中的相同onMessage方法接收。
public class SomeKlass implements MessageListener {
public void onMessage(Message message) {
//Do some work
}
}有没有人能建议我解决这类问题的最佳实践。来自两个主题的消息需要以相同的方式处理,因此我只需要一个MessageListener。
谢谢
发布于 2012-10-24 03:23:37
是的,这是完全没有问题的,只要你在SomeKlass中没有任何你看起来没有的状态。
https://stackoverflow.com/questions/13034605
复制相似问题