Properties pr = new Properties();
// 端口,IP
pr.put("82.0.176.214","16400");
Context ictx = new InitialContext(pr);
// 在joram 4.3.26中用这种方法死活连接不上JNDI,用下面方法能连接成功
Hashtable prop = new Hashtable();
prop.put(Context.INITIAL_CONTEXT_FACTORY,"fr.dyade.aaa.jndi2.client.NamingContextFactory");
prop.put("java.naming.factory.host", host);
prop.put("java.naming.factory.port", port);
Context jndiCtx = new InitialContext(prop);
以编程方式启动joram服务器,而不使用命令行方式启动
AgentServer.main(new String[] { "0", "./s0" });
注意:这种方式启动joram服务器,a3servers.xml文件的目录必须在classpath中。
注注意:假如你的a3servers.xml文件不在classpath中,他会读自己jar包中的a3servers.xml,自带的xml文件中没有配置jndi服务器,如果你碰到在程序中启动服务器,却连接不上jndi,看下是不是这个问题。
我就犯了个错误,将a3servers.xml的文件路径放classpath中去了,而不是这个文件的目录路径,joram找不到我的配置文件,就去读自带的配置文件。造成连接不上jndi,最后还是同事帮偶解决的。