Sping Boot 3不支持Atomikos。
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide
Sping Boot 3.0中删除了对以下依赖项的支持:Apache ActiveMQAtomikosEhCache 2 Hazelcast 3
Atomikos发布Sping Boot 3启动模块. https://www.atomikos.com/Blog/ExtremeTransactions6dot0
<dependency>
<groupId>com.atomikos</groupId>
<artifactId>transactions-spring-boot3-starter</artifactId>
<version>6.0.109</version>
</dependency>
字符串
谁能指导我写一个Atomikos配置来支持JMS和JPA的事务。非常感谢
1条答案
按热度按时间jei2mxaa1#
有一个在线指南描述了步骤,还包括一个github示例项目。
链接:Article distrubuted-transactions-springboot-3-atomikos Github:Github
它使用的是Atomikos的开源版本transaction essentials。
也可以在这里看到类似的文章:Atomikos MultiDB Transactions,atomikos-multi-db-transaction-system和这里A Guide to Atomikos
这里是Atomikos的官方页面,它引用了spring Boot 3的pom依赖项:Atomikos official page
以下是需要遵循的步骤:
1.在pom中添加dependencies:
字符串
1.为JpaVendorAdapter、UserTransaction、TransactionManager和PlatformTransactionManager创建Bean。
1.为XA定义ConnectionFactoryJMS。
1.为XA定义数据库
1.在spring Boot 应用程序的resources文件夹中定义一个jta.properties文件,以指定您喜欢的Atomikos设置。所有可用的属性都在这里描述:Atomikos properties而且它们已经有了默认值。
在Spring Boot 应用程序启动期间,您应该在日志中看到来自Atomikos的欢迎消息以及所有属性及其值的列表。
上面的方法使用Atomikos提供的事务管理器(UserTransactionManager)覆盖了默认的Spring事务管理器。
Atomikos的官方指南也描述了您必须使用的选项:用途:6.0.109是商业版本“Extreme Transactions”,开源使用版本6.0.0“Transactions Essentials”。一般来说,如果您的应用程序是J2EE,请使用J2eeUserTransaction和J2eeTransactionManager。
我认为使用上述方法,事务由设置边界的UserTransaction控制。
作为延续,检查我们是否可以在不访问UserTransactions的情况下使用Atomikos将是有用的,因此希望spring Boot 容器能够自己处理transactions。并且只使用这些spring Boot transaction properties:Sping Boot transaction properties