gpt4 book ai didi

java - Spring事务JMS+MyBatis

转载 作者:行者123 更新时间:2023-12-01 11:06:45 25 4
gpt4 key购买 nike

我计划使用 Mybatis 作为我的应用程序的 ORM 工具,在深入配置之前,我想知道是否有一种方法可以将 JMS + Mybatis 放入同一事务中(例如 XA)事务或两阶段提交)?如果不支持,spring JDBC支持上述情况吗?

我在SO中查找了一些答案,但还没有得到Mybatis相关的具体答案。

引用:

Spring Transaction Synchonization of JDBC and JMS

IBM MQManager as XA Transaction Manager with Spring-jms and Spring-tx

最佳答案

是的,一定是这样。我有 hibernate 和 JMS(spring-jms) 的经验,但没有 JMS 和 mybatis 的经验。但这里有一些代码示例可以对您的情况有所帮助。

<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>

<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
.....
<property name="transactionManager" ref="transactionManager"/>
</bean>

这整理了 JMS 的 JTA 参与。阅读 here用于将 Mybatis 包含在 JTA 事务中。

<jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/DBDS"/>

<bean id="myBatisSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
....
<property name="dataSource" ref="dataSource" />
<property name="transactionFactory">
<bean class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" />
</property>
</bean>

关于java - Spring事务JMS+MyBatis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32874555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com