【发布时间】:2017-11-30 07:04:23
【问题描述】:
是否可以在远程 EJB 实现中使用 TransactionManagementType.CONTAINER 而不是 TransactionManagementType.BEAN?
为了进一步澄清,我不想在我的业务层中处理 begin 和 roolback 方法,但我没有找到其他方法让它工作。
我正在使用 Glassfish 5 和 corbaname:iiop 协议来访问我的远程 EJB。
使用示例:
此代码块在我的服务器上运行:
package br.com;
@Remote
interface IRemote {void method();}
@Stateless
@TransactionManagement(value = TransactionManagementType.BEAN)
class Remote implements IRemote {
@Resource
private UserTransaction ut;
void method(){
try{
ut.begin();
<my business logic>
ut.commit();
}
catch(Exception e){...}
}
这个代码块在我本地机器上的一个应用程序中运行:
@Stateless
class LocalBean {
@EJB(mappedName = "corbaname:iiop:myserver.com:3700#java:global/RemoteApp/Remote!br.com.IRemote"
private IRemote remote;
}
我正在关注来自 Oracle 的 this tutorial,但它使用 TransactionManagementType.BEAN 没有任何解释。
有没有其他方法可以在不需要上述事务的情况下做到这一点?
【问题讨论】:
标签: jakarta-ee transactions glassfish ejb corba