Ich habe eine Komponente, die Nachrichten an eine Warteschlange sendet, um von einem anderen System behandelt zu werden. Es sollte auch hin und wieder ein Thema zum Jobstatus veröffentlicht werden. Kann ich einfach das gleiche JmsTemplate verwenden, das zum Senden an eine Warteschlange UND zum Veröffentlichen in einem Thema verwendet wird?Wie publizieren Sie ein JMS-Thema mit Spring JMS?
Ich habe ein neues Thema in ActiveMQ erstellt, außer dass, wenn ich von JmsTemplate eine Nachricht senden, eine neue Warteschlange mit dem Thema Name mit der gesendeten Nachricht erstellt wird (anstatt die Daten an das eigentliche Thema zu senden), was bin ich hier falsch machen?
hier meine 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 wird die Klasse verwende ich eine Warteschlange Nachricht zu senden (und es funktioniert), kann ich auch verwendet, nur, dass ein Thema zu veröffentlichen?
Kann ich dies nur beide Warteschlange zu tun, das Senden und Thema Publishing ?:
jmsTemplate.convertAndSend("TOPIC_NAME" /* or queue name */, message);
funktionierte perfekt für mich. Wenn Sie dem DestinationResolver @Component hinzufügen, müssen Sie es nicht einmal auf JmsTemplate setzen – danielnovy
@danielnovy, wenn Sie die Antwort nützlich fanden, würde eine Abstimmung hochgeschätzt :) –