繁体   English   中英

从JBoss EAP 5.1迁移到6.1的问题

[英]Issue moving ear from JBoss EAP 5.1 to 6.1

我正在尝试将耳朵文件从JBoss 5.1 EAP移到6.1。 尝试使用EJB时​​遇到此问题:

NamingException JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.cosnaming.CNCtxFactory from classloader ModuleClassLoader for Module "deployment.my.ear.my.war:main" from Service Module Loader
13:34:14,304 INFO  [stdout]  javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.cosnaming.CNCtxFactory from classloader ModuleClassLoader for Module "deployment.my.ear.my.war:main" from Service Module Loader
13:34:14,304 INFO  [stdout]          at org.jboss.as.naming.InitialContextFactoryBuilder.createInitialContextFactory(InitialContextFactoryBuilder.java:64)
13:34:14,304 INFO  [stdout]          at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:681)
13:34:14,305 INFO  [stdout]         

该错误来自的代码是:

new InitialContext("{java.naming.provider.url=corbaloc::server:port, java.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory}");

这在JBoss 5.1上效果很好,但在6.1上效果不佳。 我检查了该类是否存在于6.1中,不确定为什么会收到此错误。

编辑:此外,这是从JDK 6移至JDK 7。

  • 由于EAP如此模块化,以至于有时它甚至不使用jre库。 我们需要在jboss-deployment-structure.xml中提到它,以便应用程序在部署时不会失败。

  • 您需要在EAR_Name \\ META-INF中使用以下内容创建jboss-deployment-structure.xml:

     <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1"> <ear-subdeployments-isolated>false</ear-subdeployments-isolated> <sub-deployment name="WAR_Name.war"> <exclusions> <module name="org.apache.log4j" /> </exclusions> <dependencies> <system> <paths> <path name="com/sun/org/apache/xerces/internal/jaxp/datatype"/> <path name="com/sun/jndi/rmi" /> <path name="com/sun/jndi/rmi/registry"/> </paths> </system> </dependencies> </sub-deployment> </jboss-deployment-structure> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM