【发布时间】:2014-08-18 13:53:10
【问题描述】:
我正在尝试调用部署在远程服务器上的无状态 EJB。我可以从本地 JBoss 环境调用 bean,但是当我将 remote.connection.default.host 更改为远程机器的主机时,我的客户端代码不起作用。
这是我的jboss-ejb-client.properties:
endpoint.name=client-endpoint
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default
remote.connection.default.host=SERVERIP/HOSTNAME
remote.connection.default.port=8080
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.default.username=username
remote.connection.default.password=Password
我的客户端代码如下所示:
Properties properties = new Properties();
properties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
String jndi = "jndi_name";
Context context = new InitialContext(properties);
obj = context.lookup(jndi);
请帮忙。
谢谢大家。 杰克。
【问题讨论】:
-
究竟是什么“不起作用”?你到底用什么来查找?因为这可能是错误的,而您简化的“jndi_name”可能是它的重要部分。
-
我无法调用远程 EJB。我能够调用本地 EJB。我的 jboss-ejb-client.properties 文件中有 localhost,它工作正常。但是当我将其更改为远程服务器的 IP 或主机名时,它不起作用。请指教。
-
尝试连接时出现以下错误。 “无法注册 EJB 接收器以连接到主机名:8080。java.lang.RuntimeException:操作失败,状态为 WAITING”。
-
调用EJB的远程端口大概是4447。
-
@Geziefer WildFly 使用 8080,4447 用于 JBoss AS 7。您的 JNDI 查找字符串到底是什么?
标签: java jboss ejb remote-server wildfly-8