Jakarta ee 调用远程EJB的最佳方法

Jakarta ee 调用远程EJB的最佳方法,jakarta-ee,java-ee-6,Jakarta Ee,Java Ee 6,我试图提高我对远程EJB调用的理解 我有这样的代码,它在我的服务器上执行远程JNDI查找: private InitialContext jndiContext; private AdderBeanRemote bean1; Properties props = new Properties(); props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.enterprise.naming.SerialInitContextFactory"

我试图提高我对远程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的解决方案,但到目前为止,我还没有找到任何可行的解决方案,而且无论如何,这仍然需要我重新编译和重新部署以更改任何内容

有没有一种更简单的方法不需要将我的网络详细信息硬编码到我的应用程序中?或者这是我能做的最好的了

谢谢


---Scott。

我认为外部.properties文件是避免重新编译的方法

该文件可以在打包的.jar之外,作为文件系统中的一个单独文件

或者打包到一个configuration-resources.jar中,并将其带到类路径上。问题涉及在一些不同部署场景中读取属性的基本方法


如果您想更多地了解jndi.properties,请阅读更多,我想使用jndi.properties是更推荐的方式,因为您避免以编程方式读取属性。但是,您只需从文件系统中读取自制的.properties文件,就可以获得更快的结果。

谢谢,我必须了解更多关于configuration-resources.jar的信息!我可能误导了你。我的意思是,您可以将配置文件打包到单独的.jar中,而不是将它们捆绑到应用程序jar中。这里没有概念,只是我编的一个名字。啊,我明白了,我在谷歌上搜索了configuration-resources.jar,找到了一些热门的东西,所以我认为这是一件事。所以它们只是我的应用程序WAR或EAR文件中的一个单独的JAR?