繁体   English   中英

如何在远程服务器上访问EJB?

[英]How to access EJB on remote server?

我正在使用在我的子网中运行的GlassFish-3.1.2服务器(192.168.1.3:3700)。 我已经部署了一个包含EJB的企业应用程序,我在其中定义了一个业务方法。 现在我想从我的Java应用程序客户端远程访问EJB。 我如何设置JNDI resp。 用于查找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()来解决问题。 请注意,以下行应该是程序/ main方法中的第一行:

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");
}

希望这可以帮助 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM