我正在开发一个使用EJB技术的计算器,特别是JBoss Application Server和Eclipse作为IDE。
Hashtable ht = new Hashtable();
ht.put(Context.PROVIDER_URL, "jnp://localhost:1090");
ht.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
Context jndiContext = new InitialContext(ht);
calculator = (FacadeRemote) jndiContext.lookup("Facade");
这是一段试图查找名为“ Facade”的bean的代码片段,问题是查找方法调用阻止了程序的执行。
最佳答案
默认情况下,Jboss命名服务在端口1099上运行,是否出于特定原因将其更改为1090?
另外,为了进一步调试它,您可以尝试在发生查询的位置挂起线程,并将该线程转储发送给我们。
这些是jboss使用的默认jndi属性(如果您的类路径中有必要的jboss客户端库,它们将自动提供给您的应用程序)。
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
关于java - EJB阻塞查找,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4306665/