【问题标题】:JBoss EAP 6 - Error in creating InitialContextJBoss EAP 6 - 创建 InitialContext 时出错
【发布时间】:2023-03-17 09:54:01
【问题描述】:

我正在尝试使用 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 对象时,我遇到了异常。

javax.naming.NoInitialContextException:无法实例化类: org.jnp.interfaces.NamingContextFactory [根异常是 java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]

【问题讨论】:

    标签: java


    【解决方案1】:

    好吧,没有人来回答,最后我找到了解决方案。我们需要使用remote协议而不是jnp,如下:

        Properties p = new Properties();
        p.put(Context.INITIAL_CONTEXT_FACTORY,
                "org.jboss.naming.remote.client.InitialContextFactory");
        p.put(Context.URL_PKG_PREFIXES,
                "org.jboss.as.naming.interfaces:org.jboss.ejb.client.naming");
        p.put(Context.PROVIDER_URL, "remote://localhost:4447");
        p.put("jboss.naming.client.ejb.context", true);
        InitialContext ctx = new InitialContext(p);
    

    【讨论】:

    猜你喜欢
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2019-05-08
    相关资源
    最近更新 更多