我知道可以通过hornetq-jmx.xml
配置文件在HornetQ中创建JMS队列。但我想从客户那里做到这一点?
我试过了:
HornetQJMSClient.createQueue(queueName);
但这似乎没有创建队列(在hornetq服务器上)?当我尝试为此队列创建一个使用者时,我总是得到一个例外,即队列是未知的。
我非常感谢有关如何从客户端创建JMS队列的建议。 (如果可能的话,我根本不想在客户端和服务器上使用JNDI。)
更新
我不介意使用任何HornetQs核心API(而不是JMS APis)从客户端创建队列。我的问题是:有没有办法从客户端创建队列(使用JMS Apis或使用HornetQ Core API)。
答案 0 :(得分:2)
你没有......它需要你在配置文件中指定队列的名称(JMS或核心队列)。
即使名称暗示它,您在调用createQueue()方法时也不会“创建”队列,只需执行查找并在客户端注册它以使用它(因此它会检查它是否存在或不是)。
你最接近它的是创建临时队列,通常在你实现请求 - 响应行为时。
答案 1 :(得分:2)
您可以使用管理API创建队列。
在未来的版本(可能是2.3.0)中,session.createQueue和createTopic也将创建物理队列(只要你当然有授权)。
答案 2 :(得分:1)
这可能对使用核心API创建队列有一点帮助: http://community.jboss.org/message/624481