我一直在我的Spring启动应用程序中使用@Transactional
进行事务管理。但今天有人告诉我使用narayana进行交易管理。
如果spring本身可以为我做事务管理,为什么我必须使用narayana。
答案 0 :(得分:0)
基本上有两种交易。 Local transactions
特定于单个事务资源(如JDBC连接),而global transactions
可以跨越多个事务资源,如分布式系统中的事务。
如果您需要分布式系统的事务管理,那么Spring事务管理是不够的,narayana将会发挥作用。
来自Spring boot docs:
Spring Boot支持跨多个XA的分布式JTA事务 使用Atomikos或Bitronix嵌入式事务处理资源 经理。部署到a时也支持JTA事务 合适的Java EE Application Server。
当检测到JTA环境时,Spring的JtaTransactionManager是 用于管理交易。自动配置的JMS,DataSource和JPA bean已升级为支持XA事务。你可以使用标准 春天成语,如@Transactional,参与分发 交易。如果您在JTA环境中并仍想使用 在本地事务中,可以将spring.jta.enabled属性设置为 false表示禁用JTA自动配置。