Spring JTA事务管理器问题

我们使用jboss管理的EntitymangerFactory使用以下spring bean

persistence-units/myPU"/>

现在在我们的spring bean中,我们使用@PersistenceContext来获取实体管理器,它工作正常.我想要的是,我怎么能告诉spring抓住jbos jta服务提供的事务管理器并在我的dao中使用它?

如果我像下面那样定义txmanager那么spring可以控制使用@Transaction注释来管理转换吗?

如果是这样,那么当spring将提交事务并回滚它时?

谢谢

最佳答案
差不多 – 你应该把它叫做transactionManager而不是txManager.您可以覆盖它查找的名称,但更容易遵守约定.

此外,JtaTransactionManager通常会自动检测各种JNDI名称,您不需要手动指定它们.

更好的是,根本不要声明JtaTransactionManager,只需使用< tx:jta-transaction-manager />和Spring should do the right thing.

所以,你应该需要的是:

一旦到位,任何使用@Transactional注释的bean都将具有由Spring管理的事务边界,例如在注释方法退出时提交或回滚事务(see docs).

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...