2017-03-22 32 views
0

サービスをJboss 5.1からJboss EAP 7.0.0に移行しています。 これは、maven 3.9.9を使用してjdk 1.8で正常に構築され、jboss EAP 7.0.0に正常にデプロイされました。Jboss EAP 7.0.0 - java.lang.ClassNotFoundException:org.jboss.naming.remote.client.InitialContextFactory

展開中にjava.lang.ClassNotFoundExceptionが表示されています。このサービスには、ローカルejbなしリモートejbsのみが含まれています。

EJBのルックアップクラス -

 String contextFactory = SysConfigUtil.getJndiFactory(); 
     String ejbLocalJndi = SysConfigUtil.getTimerEjbLocalJndi(); 
     Properties environment = new Properties(); 
     environment.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory); 
     Context ctx; 
     environment.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); 
     environment.put("jboss.naming.client.ejb.context", new Boolean(true)); 
     ctx = new InitialContext(environment); 
     logger.info("************ before lookup"); 
     ejb = (ISystemConfigurationTimerLocal) ctx.lookup(ejbLocalJndi); 
     logger.info("************ after lookup"); 

スタックトレース -

javax.naming.NamingException: WFLYNAM0027: Failed instantiate InitialContextFactory org.jboss.naming.remote.client.InitialContextFactory from classloader ModuleClassLoader f 
or Module "deployment.SystemConfiguration.ear.system-configuration-lifecycle.sar:main" from Service Module Loader [Root exception is java.lang.ClassNotFoundException: org.jb 
oss.naming.remote.client.InitialContextFactory from [Module "deployment.SystemConfiguration.ear.system-configuration-lifecycle.sar:main" from Service Module Loader]] 
    org.jboss.as.naming.InitialContext.getDefaultInitCtx(InitialContext.java:118) 
    org.jboss.as.naming.InitialContext.init(InitialContext.java:99) 
    javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154) 
    org.jboss.as.naming.InitialContext.<init>(InitialContext.java:89) 
    org.jboss.as.naming.InitialContextFactory.getInitialContext(InitialContextFactory.java:43) 
    javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) 
    javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) 
    javax.naming.InitialContext.init(InitialContext.java:244) 
    javax.naming.InitialContext.<init>(InitialContext.java:216) 
    com.abcd.services.core.systemconfiguration.conn.impl.SystemConfigurationTimerEjbExecutor.getSystemConfigurationTimerEJB(SystemConfigurationTimerEjbExecutor.java:96) 
    com.abcd.services.core.systemconfiguration.conn.impl.SystemConfigurationTimerEjbExecutor.startScheduler(SystemConfigurationTimerEjbExecutor.java:56) 
    com.abcd.services.core.systemconfiguration.conn.impl.SystemConfigurationAppLifeCycle.start(SystemConfigurationAppLifeCycle.java:65) 
    org.jboss.as.service.AbstractService.invokeLifecycleMethod(AbstractService.java:76) 
    org.jboss.as.service.StartStopService$1.run(StartStopService.java:61) 
    java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    java.lang.Thread.run(Thread.java:745) 
    org.jboss.threads.JBossThread.run(JBossThread.java:320) 
Caused by: java.lang.ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory from [Module "deployment.SystemConfiguration.ear.system-configuration-lifec 
ycle.sar:main" from Service Module Loader] 
    org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198) 
    org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) 
    org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) 
    org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) 
    java.lang.Class.forName0(Native Method) 
    java.lang.Class.forName(Class.java:348) 
    org.jboss.as.naming.InitialContext.getDefaultInitCtx(InitialContext.java:113) 
+0

http://stackoverflow.com/questions/36441217/wflynam0027-classnotfoundexception-org-jboss-naming-remote-client-initialcont – gladiator

答えて

1

はJBossASのいずれかのバージョンでローカルオブジェクトをルックアップするとき、またはあなたはnew InitialContext()に環境特性を提供するために必要なことはありませんWildFly。

Context ctx = new InitialContext(); 
ejb = (ISystemConfigurationTimerLocal) ctx.lookup(ejbLocalJndi); 

すべてが必要です。

FWIWは、リモートスタンドアロンクライアントのプロパティ設定であり、server-> server呼び出しでも正しくありません。

+0

新しいInitialContext()から環境プロパティを削除していただきありがとうございます。 –

関連する問題