是否可以从远程客户端查找和使用UserTransaction 在AS 4?
我遵循了这个文档并从服务器外部连接:通过JNDI进行远程EJB调用 - EJB客户端API或远程命名项目 - WildFly 8 - 项目文档编辑器。
以下是我在AS 4中使用的代码,该代码在WildFly中失败
例如:
public void beginTransaction() {
try {
ut = (UserTransaction) getCtx().lookup("UserTransaction");
ut.begin();
} catch (Exception ex) {
throw new RuntimeException("Failed to begin UserTransactiion", ex);
}
}
然后我收到了这个错误:
Caused by: javax.naming.NameNotFoundException: UserTransaction -- service jboss.naming.context.java.jboss.exported.UserTransaction
谢谢!
答案 0 :(得分:3)
现在已经弃用了。更好用:
UserTransaction ut = RemoteTransactionContext.getInstance().getUserTransaction();
答案 1 :(得分:1)
使用选项-Djboss.node.name=node1
启动wildfly服务器,以使EJBClient.getUserTransaction()
方法满意。
使用交易:
UserTransaction ut = EJBClient.getUserTransaction("node1");