Jboss EAP 7.0.0 - java.lang.ClassNotFoundException:org.jboss.naming.remote.client.InitialContextFactory

时间:2017-03-22 06:57:32

标签: java maven java-ee jboss jboss7.x

我正在将服务从Jboss 5.1迁移到Jboss EAP 7.0.0。 它使用maven 3.9.9在jdk 1.8中成功构建,并成功部署在jboss EAP 7.0.0中。

在部署期间,它显示-(id)initWithArray:(NSArray *)array 。此服务仅包含本地ejb没有远程ejbs。

EJb查找课程

java.lang.ClassNotFoundException

堆栈追踪 -

        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");

1 个答案:

答案 0 :(得分:1)

在任何版本的JBossAS或WildFly中查找本地对象时,您从未需要为new InitialContext()提供环境属性。

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

应该是你需要的一切。

FWIW,您提供的属性配置适用于远程独立客户端,即使对于服务器也不正确 - >服务器呼叫。