У меня есть компонент, который отправляет сообщения в очередь для обработки другой системой. Он также должен публиковать тему о статусах работы каждый раз в то время. Могу ли я использовать один и тот же JmsTemplate, используемый для отправки в очередь И для публикации в теме?Как вы публикуете тему JMS с помощью Spring 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
@ danielnovy, если вы найдете ответ полезным, голос будет оценен по достоинству :) –