ear ファイルを 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 に移行しています。