since.2006  

joram是objectweb.org的java开源JMS消息中间件产品,支持JMS1.1,自带的文档和例子比较完整。中文文档比较详细的是<>这篇,文中介绍了JMS的基本概念及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,最后还是同事帮偶解决的。

 

Posted by hee at 09:04 AM | Permalink | 评论(0)