【发布时间】:2011-03-31 21:41:37
【问题描述】:
我有一个组件将消息发送到队列以由另一个系统处理。它还应该每隔一段时间发布一个关于工作状态的主题。我可以只使用用于发送到队列和发布到主题的相同 JmsTemplate 吗?
我在 ActiveMQ 中创建了一个新主题,除了当我从 JmsTemplate 发送消息时,使用发送的消息创建一个具有主题名称的新队列(而不是将数据发送到实际主题),我在做什么错了吗?
这是我的配置:
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<constructor-arg ref="amqConnectionFactory" />
<property name="exceptionListener" ref="jmsExceptionListener" />
<property name="sessionCacheSize" value="100" />
</bean>
<!-- JmsTemplate Definition -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<constructor-arg ref="connectionFactory" />
</bean>
<bean id="messageFacade" class="org.foo.MessageFacadeJms">
<property name="jmsTemplate" ref="jmsTemplate" />
</bean>
MessageFacadeJms 是我用来发送队列消息的类(它有效),我也可以用它来发布主题吗?
我可以用它来做队列发送和主题发布吗?:
jmsTemplate.convertAndSend("TOPIC_NAME" /* or queue name */, message);
【问题讨论】: