java - 带有 CMT 的 Ejb3 无状态 bean

标签 java transactions jakarta-ee ejb-3.0

有没有可能有这样的东西? 客户端代码在带有伪代码的线程中:

transaction.begin();
ejb.method();
transaction.commit();

method() 属于 EJB3 无状态 session bean,用 TransactionAttributeType.REQUIRED 注释。 method() 可以设置setRollbackOnly()

如果 ejb 方法设置了 setRollbackOnly(),在尝试提交事务之前是否应该进行一些检查?

谢谢!

最佳答案

您还可以将被调用的 bean(方法)上的事务属性设置为 TransactionAttributeType.REQUIRES_NEW,以在您的方法上强制执行新事务。

顺便说一句:如果您在方法 上指定事务属性,请确保调用代理 方法。 也就是说,从 same ejb 中调用具有特定事务属性集的 ejb 的方法将不会像您期望的那样工作...

关于java - 带有 CMT 的 Ejb3 无状态 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5042447/

相关文章:

java - 致命异常主要 - startActivity

java - Spring Rest `@Controller` 扭曲行为

java - 动画 View 超出父容器android

css - 平滑过渡悬停图像

java - 将文件保存为 lob 还是 OS 文件?

java - spring mvc 跟踪引荐页面

java - getView() int 每次加载都会加倍

sql - DDL语句是否总是为您提供隐式提交,还是可以得到隐式回滚?

sql-server-2005 - 事务是否影响所有查询?

java - 我们可以在客户端获取小程序代码吗