Ary*_*rya 5 java spring jms spring-jms
使用sessionTransacted = true(在JmsTemplate和/或DefaultMessageListenerContainer中)与使用JmsTransactionManager之间的主要区别是什么?对于JmsTemplate和DefaultMessageListenerContainer用法,使用sessionTransacted = true是否足够?(我不需要XA)
该文档说(在JmsAccessor的setSessionTransacted方法中),看来应该不成问题:
将此标志设置为“ true”将在托管事务之外运行时使用简短的本地JMS事务,如果存在托管事务(XA事务除外),则将使用同步的本地JMS事务。
正确的。
您DefaultMessageListenerContainer(DMLC)通常只需要acknowledgemode=transacted;仅当需要将 JMS 事务与 JDBC 事务同步或者需要使用平台 (JTA) 事务管理器时,才需要在 DMLC 上使用事务管理器。
此外,JmsTemplate容器线程上的任何下游操作都将在同一会话中完成并参与事务。
同样,对于JmsTemplate非容器线程的线程上的操作,通常不需要事务管理器,除非平台需要它。
| 归档时间: |
|
| 查看次数: |
7199 次 |
| 最近记录: |