gpt4 book ai didi

java - 如何访问远程服务器上的EJB?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:52:41 24 4
gpt4 key购买 nike

我正在使用在我的子网 (192.168.1.3:3700) 中运行的 GlassFish-3.1.2 服务器。我已经部署了一个包含 EJB 的企业应用程序,我在其中定义了一个业务方法。现在我想从我的 Java 应用程序客户端远程访问 EJB。我该如何设置 JNDI 响应。用于查找 EJB 的 InitialContext 对象?我需要如何定义属性?顺便提一句。我必须运行“asadmin enabled-secure-admin”才能使 GlassFish 服务器在 LAN 上运行。可能我还需要发送我的凭据和属性?

这是我目前的“解决方案”,似乎完全错误:

Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("org.omg.CORBA.ORBInitialHost", "192.168.1.3");
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
InitialContext ctx = new InitialContext(props);

TestentityFacadeRemote tfr = (TestentityFacadeRemote)ctx.lookup("java:global/TestEE/TestEE-ejb/TestentityFacadeRemote");

当我运行这个程序时,它会无限等待...

非常感谢任何帮助!

最佳答案

我通过 System.setProperty() 设置主机和端口目录并使用默认构造函数初始化 InitialContext() 解决了这个问题。请注意,以下几行应该是您的程序/主要方法中的第一行:

public static void main(String[] args) {
System.setProperty("org.omg.CORBA.ORBInitialHost", "192.168.1.3");
System.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
InitialContext ctx = new InitialContext();
TestentityFacadeRemote tfr = (TestentityFacadeRemote)ctx.lookup("java:global/TestEE/TestEE-ejb/TestentityFacadeRemote!com.acme.remote.TestentityFacade");
}

希望这有助于...

关于java - 如何访问远程服务器上的EJB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9829922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com