我正在尝试将旧的Qpid设置(基于AMQP 0-X)升级到基于AMQP 1.0的最新质子版本的Qpid,并遇到从客户端动态创建持久或非持久队列/主题的问题。我们曾经能够利用Spring的jms-generic:queue:someQueueName
(在某些情况下为主题)来完成此任务,在通过动态目标解析器之后,最终将为我们创建队列或主题。但是,似乎不再是这种情况了,因为createQueue/Topic
不再创建实际的队列或主题(至少我在JMS文档中阅读的关于createQueue/Topic
的内容)。
所以我的担忧最终归结为:
1)是否仍然可以使用最新的Qpid JMS和Broker-J动态创建队列和主题,
2),如果是的话,如何使用Qpid JMS和Broker-J来实现?
感谢您的提前答复。
旁注:我完全意识到这是一个准系统的高级概述,因此我可以根据需要提供更多详细信息。我只是希望有人在我尝试继续讲(2)之前能够确定地回答(1)。
答案 0 :(得分:0)
新的JMS客户端没有根据地址字符串自动创建队列的规定;部分原因是AMQP 1.0尚未定义用于创建队列的通用机制。
Qpid Broker-J确实支持创建队列/交换/等。通过管理协议-但是其他经纪人/服务尚未对此进行标准化。
Broker系统测试使用AMQP管理来动态创建实体... https://github.com/apache/qpid-broker-j/blob/master/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java