Apr 19, 2007
joram是objectweb.org的java开源JMS消息中间件产品,支持JMS1.1,自带的文档和例子比较完整。中文文档比较详细的是<> 这篇,文中介绍了JMS的基本概念及joram的使用方法。
下面记录我在使用过程中遇到的一些问题。
连接远程服务器,在joram中文文档中,使用如下方法连接远程服务器
下面记录我在使用过程中遇到的一些问题。
连接远程服务器,在joram中文文档中,使用如下方法连接远程服务器
- 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,最后还是同事帮偶解决的。


