正常JNDI的调用代码:
private static Object jndiLookup() throws Exception {
InitialContext ctx = new InitialContext();
return ctx.lookup("java:comp/env/systemStartTime");
}
上述代码在J2EE服务器环境下工作得很好,但是在main()中就会报一个NoInitialContextException。
修改后的代码:
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"jnp://localhost:1199");
InitialContext tempctx = new InitialContext(env);
HashMap map = (HashMap) tempctx.lookup("service/PortletTestingProcessor");
JNDI服务端口号查看:
进入JMX控制台:http://localhost:8080/jmx-console 信息位于mbean service=Naming