6

我知道可以通过hornetq-jmx.xml配置文件在 HornetQ 中创建 JMS 队列。但我想从客户那里做到这一点?

我试过:

HornetQJMSClient.createQueue(queueName);

但这似乎没有创建队列(在 hornetq 服务器上)?当我尝试为此队列创建消费者时,我总是遇到队列未知的异常。

我将非常感谢有关如何从客户端创建 JMS 队列的建议。(如果可能的话,我根本不想在客户端和服务器上使用 JNDI)。

更新:

我不介意使用任何 HornetQs 核心 API(相对于 JMS API)从客户端创建队列。我的问题是:有什么方法可以从客户端创建队列(使用 JMS API 或使用 HornetQ Core API)。

4

3 回答 3

2

您不需要...它需要您在其配置文件中指定队列的名称(JMS 或核心队列)。

即使名称暗示它,当您调用 createQueue() 方法时,您也不会“创建”队列,您只需在客户端进行查找并注册它以使用它(因此它会检查它是否存在)。

您从中获得的最接近的是创建临时队列,通常是在您实现请求-响应行为时。

于 2011-08-10T14:33:24.200 回答
2

您可以使用管理 API 创建队列。

在未来的版本(可能是 2.3.0)中,session.createQueue 和 createTopic 也将创建物理队列(当然,只要您有授权)。

于 2011-08-10T14:44:29.820 回答
1

这可能对使用核心 API 创建队列有一点帮助:http: //community.jboss.org/message/624481

于 2011-09-14T17:41:24.327 回答