【发布时间】:2018-09-15 18:48:24
【问题描述】:
我一直在我的 Spring Boot 应用程序上使用 @Transactional 进行事务管理。但是今天有人告诉我使用narayana进行事务管理。
如果 spring 本身可以为我做事务管理,为什么我必须使用 narayana。
【问题讨论】:
-
Spring 非常灵活。通常使用 narayana 之类的东西实际上并不会改变你使用@transactional 之类的东西的方式。它只是实际执行事务管理的替代品。 Spring“自己做事”通常只是为它的接口和功能选择一个默认的 3rd-party 实现。我不能特别和 Narayna 说话,因为我没有使用它。只是想指出这可能不是“非此即彼”的情况。
-
Spring 只能处理本地事务。如果您需要分布式事务,以确保多个数据源或数据源和 JMS 引擎的 ACIDity,例如,您需要像 Narayana 这样的事务管理器。这已记录在案:docs.spring.io/spring-boot/docs/current/reference/htmlsingle/…
-
@JBNizet 请用简单的外行词详细说明。我是新手程序员。
-
Spring boot 已与 Narayana docs.spring.io/spring-boot/docs/current/reference/html/… 集成。这里是一个指向 Spring 的 JTA 事务示例的链接:javaworld.com/article/2077714/java-web-development/…, spring.io/blog/2011/08/15/…
-
@user8710021 没错。
标签: java spring-mvc spring-boot spring-transactions