首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Spring和EJB中使用相同的事务?

如何在Spring和EJB中使用相同的事务?
EN

Stack Overflow用户
提问于 2012-06-13 21:12:31
回答 1查看 4.7K关注 0票数 2

我没有Spring的开发经验,因为我们是Java商店。然而,我们正在寻找一种满足我们需求的解决方案,该解决方案运行在Spring上,并且应该集成我们现有的Java EE解决方案。

在阅读了Spring3.0.5文档之后,我仍然不确定如何将事务从Spring传播到EJB。

例如,Spring bean将创建一个事务,将一些内容保存到一个数据库中,然后将事务移交给我们的一个无状态会话bean,后者(使用JPA)将其他一些内容保存到另一个数据库中。所有这些都必须在相同的事务下运行,该事务在控制返回到Spring bean时提交。

另外,我也不清楚如何部署: Spring会在包含会话bean的EAR中作为webapp运行吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-13 21:49:43

如果您将Spring配置为使用JTATransactionManager,然后从Spring中调用您的SessionBean,那么bean实际上应该选择Spring创建的事务。请看这里:http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#transaction-application-server-integration和描述的<tx:jta-transaction-manager/>

实际上,我只是以另一种方式(在春季加入EJB事务)做了这件事,所以我不能完全确定,但是您可以通过设置

代码语言:javascript
复制
@TransactionAttribute(TransactionAttributeType.MANDATORY)

在你的SessionBean上,从春天开始叫它...如果不存在现有事务,您将得到一个TransactionRequiredException

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11015582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档