2

ActiveMQ 브로커에 연결하는 여러 제작자를 위해 JMSTemplate의 단일 인스턴스를 공유하려고합니다. 샘플 구성 :단일 JMSTemplate을 여러 생성자에서 공유 할 수 있습니까?

<bean id="ProducerJmsTemplate" class="org.springframework.jms.core.JmsTemplate"> 
<property name="connectionFactory"> 
    <ref bean="gloProducerJmsFactory" /> 
</property> 
</bean> 

<bean id="pnlMessageProducer1" class="glo.business.core.FAGSCompletionMessage1" 
p:jmsTemplate-ref="ProducerJmsTemplate" 
p:messageDestination-ref="topic_loadGearTb1" 
</bean> 

<bean id="pnlMessageProducer2" class="glo.business.core.FAGSCompletionMessage2" 
p:jmsTemplate-ref="ProducerJmsTemplate" 
p:messageDestination-ref="topic_loadGearTb2" 
</bean> 

위의 구성을 사용할 수 있습니까? 여기에 언급 한 바와 같이

다음이 JmsTemplate 클래스의 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/jms.html

인스턴스는 스레드 안전 번 구성되어 있습니다. 이는 JmsTemplate의 단일 인스턴스를 구성한 다음이 공유 참조를 여러 공동 작업자에게 안전하게 주입 할 수 있다는 것을 의미하므로 중요합니다. 명확히 말하면, JmsTemplate은 ConnectionFactory에 대한 참조를 유지한다는 점에서 stateful이다. 그러나이 상태는 대화 상태가 아니다.

감사합니다,
아누 즈

답변

2

예 ...

... 당신이이 JmsTemplate의 단일 인스턴스를 구성하고 안전하게 여러 협력자로이 공유 참조를 삽입 할 수 ...

... 구성과 정확히 일치합니다.