JMS 标准仅涉及从队列和主题等对象发送和接收数据。 JMS 工件的创建是特定于供应商的,通常需要使用:
1) 特定供应商 API(不是 JMS)
2)针对 JMS 服务器的命令/管理消息(activemq 上的命令代理)
3)JMX API
我用过JMX的方法,这个方法最强大,也是工作量最大的。
activemq 的 JMX 方法(5.0+ 版)
a) JMS 服务器设置
1) 在activemq启动脚本和activemq.xml文件中启用JMX
2) 如果您要对服务器进行身份验证,请确保您的用户在 activemq.xml 中设置了 admin 权限(请参阅http://activemq.apache.org/security.html)
3)重启activemq服务器
b) 您的客户代码
1) 创建org.apache.activemq.broker.jmx.BrokerViewMBean 的实例(您需要使用一些有点乱的JMX 连接代码进行连接)
2) 使用其addQueue 方法。这将在服务器上创建一个队列
(hornetq 的过程与此类似,但由于您提到了 Activemq,因此我在此省略了 hornetq 的详细信息。)
我自己用过这个方法,效果很好。
另一种方法是在 Activemq 中使用 Command Agents,但我对这些没有个人经验。这些是包含管理命令的特殊消息,也可以执行您想要的操作。