0

我将 jboss-4.0.4.GA 移动到 wildfly-8.1.0.Final。在部署我的 EAR 时出现以下错误:

2014-07-10 17:09:44,900 错误 [stderr](默认任务 1)javax.naming.NamingException:JBAS011843:无法从类加载器 ModuleClassLoader 为模块“部署”实例化 InitialContextFactory org.jboss.naming.remote.client.InitialContextFactory。 wildfly.ear.wildfly-war.war:main" 来自服务模块加载器 [根异常是 java.lang.ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory 来自 [Module "deployment.wildfly.ear.wildfly-war .war:main" 来自服务模块加载器]]

我的代码:

Properties appProp = new Properties();
appProp.put(Context.INITIAL_CONTEXT_FACTORY, CGProperties.initial_context_factory);
appProp.put(Context.PROVIDER_URL, CGProperties.provider_url);
appProp.put("java.naming.rmi.security.manager", "yes");
appProp.put(Context.URL_PKG_PREFIXES, "org.jboss.naming");
appProp.put("jboss.naming.client.ejb.context","true");
context = new InitialContext(appProp);
//context = new InitialContext();

if(serverName.equalsIgnoreCase("JBOSS")) {
    ds = (javax.sql.DataSource) context.lookup(CGProperties.dsName);
    reportDS=(javax.sql.DataSource) context.lookup(CGProperties.reportdsName);
}

请帮我解决这个错误。

4

1 回答 1

1

要么需要添加 jboss-client.jar,要么包含相应的 WildFly 模块。

正如在此处回答的那样, standalone-full.xml中的以下配置可以解决问题:

    <subsystem xmlns="urn:jboss:domain:ee:4.0"><!-- ee:2.0  in WildFly 8 -->
                <global-modules>
                    <module name="org.jboss.remote-naming"/>
                </global-modules>
...

它允许在另一个 WildFly 服务器上查找远程连接。

于 2018-05-14T12:35:25.713 回答