我正在努力提高我对远程 EJB 调用的理解。
我有这样的代码,它在我的服务器上进行远程 JNDI 查找:
private InitialContext jndiContext;
private AdderBeanRemote bean1;
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("org.omg.CORBA.ORBInitialHost", "10.0.0.99");
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
jndiContext = new InitialContext(props);
bean1 = (AdderBeanRemote) jndiContext.lookup("com.suspectclass.sgifford.test8bean.AdderBeanRemote");
但这似乎很复杂,并且将大量特定于应用程序的数据硬编码到我的应用程序中;例如,如果我想使用不同的服务器或重新编号我的网络,我将不得不修改我的应用程序,然后重新编译和重新部署。
我见过一些使用“jndi.properties”的解决方案,但到目前为止我还没有任何工作,无论如何这仍然需要我重新编译和重新部署以更改任何内容。
有没有一种更简单的方法,不需要将我的网络详细信息硬编码到我的应用程序中?或者这是我能做的最好的吗?
谢谢!
-----斯科特。