我有一個組件將消息發送到另一個系統處理的隊列。它還應該每隔一段時間發佈一次關於工作狀態的主題。我可以使用相同的JmsTemplate用於發送到隊列併發布到主題嗎?如何使用Spring JMS發佈JMS主題?
我在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);
非常完美,我引用它。如果您將@Component添加到DestinationResolver,則您甚至不需要將其設置在JmsTemplate – danielnovy 2018-01-12 21:32:13
@danielnovy上,如果您發現該答案有用,則可以讚賞:) – 2018-01-14 07:14:46