1. 程式人生 > >JmsTemplate 和activemq中事務提交後執行訊息

JmsTemplate 和activemq中事務提交後執行訊息

   正常情況下,mq發出訊息後會立即執行,但是在分散式事務執行過程中,會有這樣的一種情況,即方法執行後,事務成功提交才希望訊息執行,這樣就需要配置一下JmsTemplate,兩種方法

1)在spring 配置檔案中新增jmsTemplate的屬性sessionTransacted,預設為false,設定成true即可

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="sessionTransacted" value="true" />


</bean>

2)在程式中為jmsTemplate設定屬性jmsTemplate.setSessionTransacted(true);