我尝试在 JBoss EAP 6.3.2 上使用 jnp 协议连接JNDI。 我的代码是
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
p.put(Context.URL_PKG_PREFIXES,
"org.jboss.naming:org.jnp.interfaces");
p.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1099");
InitialContext ctx = new InitialContext(p);
MyBeanHome home = (MyBeanHome) ctx
.lookup("/MyApp/MyAppModule/MyBean!org.com.SesFacade.MyBeanHome");
但是当我尝试使用jnp属性创建 InitialContext 对象时,我得到了Exception。
javax.naming.NoInitialContextException:无法实例化类: org.jnp.interfaces.NamingContextFactory [根异常是 抛出java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
答案 0 :(得分:1)
没有人来回答,最后我找到了解决方案。我们需要使用object
协议而不是remote
,如下所示:
jnp