Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JMS/HornetQ=如何从客户端以编程方式创建JMS队列?_Java_Jms_Hornetq - Fatal编程技术网

Java JMS/HornetQ=如何从客户端以编程方式创建JMS队列?

Java JMS/HornetQ=如何从客户端以编程方式创建JMS队列?,java,jms,hornetq,Java,Jms,Hornetq,我知道可以通过hornetqjmx.xml配置文件在HornetQ中创建JMS队列。但是我想从客户那里做这个 我试过: HornetQJMSClient.createQueue(queueName); 但这似乎没有创建队列(在hornetq服务器上)?当我尝试为此队列创建使用者时,总是会出现队列未知的异常 如果您能给我提供如何从客户端创建JMS队列的建议,我将不胜感激。(如果可能的话,我根本不想在客户端或服务器上使用JNDI) 更新: 我不介意使用任何HornetQs核心API(与JMS AP

我知道可以通过
hornetqjmx.xml
配置文件在HornetQ中创建JMS队列。但是我想从客户那里做这个

我试过:

HornetQJMSClient.createQueue(queueName);
但这似乎没有创建队列(在hornetq服务器上)?当我尝试为此队列创建使用者时,总是会出现队列未知的异常

如果您能给我提供如何从客户端创建JMS队列的建议,我将不胜感激。(如果可能的话,我根本不想在客户端或服务器上使用JNDI)

更新:


我不介意使用任何HornetQs核心API(与JMS API相反)从客户端创建队列。我的问题是:有没有办法从客户端创建队列(使用JMS API或HornetQ核心API)。

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

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


最接近的方法是创建临时队列,通常是在实现请求-响应行为时。

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


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

这可能对使用核心API创建队列有所帮助:

你好,埃弗顿。首先非常感谢你的回答!我是大黄蜂的新手:(我相应地更新了问题)。以防万一:您知道有哪些类允许使用核心API(比如管理API)在服务器上创建它们吗?(但不是JMX)。我还没有找到类似的东西,但可能它存在…)谢谢。请检查下面的@Clebert答案。:)下面是一个解决方法,我终于找到了(当我知道搜索什么时):(你可以把它整合到你的答案链接中,让它更容易理解;-)你好,克莱伯特。非常感谢你的帮助!!只是想说,你似乎来自Jboss/HornetQ团队:感谢你的伟大项目!继续努力。Hornet是一款非常酷的产品,比如infinispan(以及jboss的许多其他产品)。谢谢