首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在运行时在JMS中创建物理队列

如何在运行时在JMS中创建物理队列
EN

Stack Overflow用户
提问于 2011-06-22 18:37:48
回答 2查看 904关注 0票数 0

想知道如何在运行时在JMS中创建物理队列。当我搜索这个的时候,我得到了Creating JMS Queues at runtime

但当我阅读http://activemq.apache.org/how-do-i-create-new-destinations.html时,我才知道Creating JMS Queues at runtime中提到的queue并没有在服务器端创建任何物理队列。

如果我错了,请纠正我。如果有人知道在运行时创建物理队列,请重播。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-26 03:57:53

“普通”队列的创建不受JMS标准的限制。根据您想要做什么,有两种方法:

  • 使用临时队列->但是它们有很多限制,最常见的是用于请求-回复方案
  • 使用JMS提供程序的API -但是您的解决方案将依赖于这个特定的提供程序然后是
票数 0
EN

Stack Overflow用户

发布于 2012-03-27 09:48:00

JMS标准只处理发送和接收来自对象(如队列和主题)的数据。JMS工件的创建是特定于供应商的,通常需要使用:

1)特定供应商API(非JMS)

2)针对JMS服务器的命令/管理消息(activemq上的命令代理)

3)JMX API

我使用了JMX方法,这是最强大的,但也是最多的工作。

activemq (version 5.0+)的JMX方法

a) JMS服务器设置

1)在activemq启动脚本和activemq.xml文件中启用JMX

2)如果您要向服务器进行身份验证,请确保您的用户具有在activemq.xml中设置的管理员权限(请参阅http://activemq.apache.org/security.html)

3)重启activemq服务器

b)您的客户端代码

1)创建一个org.apache.activemq.broker.jmx.BrokerViewMBean实例(您需要使用一些JMX连接代码进行连接,这有点凌乱)

2)使用它的addQueue方法。这将在服务器上创建一个队列

( hornetq的过程与此类似,但由于您提到了Activemq,因此我在这里省略了hornetq的详细信息。)

我自己也用过这种方法,而且很管用。

另一种选择是在Activemq中使用命令代理,但我没有使用这些代理的个人经验。这些是包含管理命令的特殊消息,也可以执行您想要的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6438489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档