WildFly中远程客户端使用的UserTransaction

时间:2015-02-06 06:37:11

标签: jboss wildfly-8

是否可以从远程客户端查找和使用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

谢谢!

2 个答案:

答案 0 :(得分:3)

现在已经弃用了。更好用:

UserTransaction ut = RemoteTransactionContext.getInstance().getUserTransaction();

答案 1 :(得分:1)

使用选项-Djboss.node.name=node1启动wildfly服务器,以使EJBClient.getUserTransaction()方法满意。

使用交易:

UserTransaction ut = EJBClient.getUserTransaction("node1");