J'ai un composant qui envoie des messages à une file d'attente pour être traité par un autre système. Il devrait également publier un sujet sur les statuts de travail de temps en temps. Puis-je simplement utiliser le même JmsTemplate utilisé pour envoyer à une file d'attente ET publier sur un sujet?Comment publier un sujet JMS avec Spring JMS?
J'ai créé un nouveau sujet dans ActiveMQ, sauf que lorsque j'envoie un message JmsTemplate, une nouvelle file d'attente avec le nom du sujet est créée avec le message envoyé (au lieu d'envoyer les données au sujet) faire mal ici?
voici ma config:
<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 est la classe que j'utilise pour envoyer un message de file d'attente (et il fonctionne), je peux aussi simplement utilisé que pour publier un sujet?
Puis-je utiliser pour faire les deux files d'attente d'envoi et la publication de sujet ?:
jmsTemplate.convertAndSend("TOPIC_NAME" /* or queue name */, message);
ont parfaitement fonctionné pour moi. Si vous ajoutez @Component à DestinationResolver, vous n'avez même pas besoin de le définir sur JmsTemplate – danielnovy
@danielnovy si vous avez trouvé la réponse utile, un vote serait apprécié :) –