我正在将jboss-4.0.4.GA移动到wildfly-8.1.0.Final。在部署我的EAR时,我遇到了以下错误:
2014-07-10 17:09:44,900 ERROR [stderr](默认任务-1) javax.naming.NamingException:JBAS011843:实例化失败 的InitialContextFactory 来自classloader的org.jboss.naming.remote.client.InitialContextFactory Module的ModuleClassLoader 来自服务模块的“deployment.wildfly.ear.wildfly-war.war:main” Loader [根异常是java.lang.ClassNotFoundException: 来自[Module。的org.jboss.naming.remote.client.InitialContextFactory 来自服务模块的“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);
}
请帮我解决此错误。
答案 0 :(得分:1)
需要添加jboss-client.jar或包含相应的WildFly模块。
在回答here时, 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服务器上查找远程连接。