我正在使用 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/