本帖最后由 sultany 于 2014-09-03 12:32:44 编辑

解决方案 »

  1.   

    这样的异常经常发生在java.naming.Context.lookup()方法上,原因是在于异常信息中的java.naming.factory.initial在不同的EJB容器中有不同的含义(初始化上下文工厂),在weblogic81中它代表的是weblogic.jar中weblogic.jndi.WLInitialContextFactory类
    处理办法有两个:
    1.在运行程序时使用命令:java -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
    2.需要在程序中补充这样的语句:
        Properties props = System.getPropjerties();
        props.put(InitialContext.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
        Context ctx = new InitialContext(props);有时EJB程序可能还需要另一个参数java.naming.provider.url,处理办法如上面类似:
    1.在运行程序时使用命令:java -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
    2.在程序中指定prop.setProperty("Context.PROVIDER_URL", "t3://127.0.0.1:7001");