java AMQP Qpid ActiveMQ路由键

i5desfxk  于 2023-04-10  发布在  Java
关注(0)|答案(1)|浏览(102)

我正在使用ActiveMQ“Classic”,并且我想使用AMQP协议。
目前我正在尝试使用AMQP 1.0和Java客户端Qpid JMS客户端2.2.0和qpid-amqp-1-0-client-jms 0.32与Sping Boot 3和jakarta包。
最终的目标是完全使用AMQP,然后可能用另一个代理替换ActiveMQ,而不改变我的代码,但我使用VirtualTopic,如果我理解AMQP可以通过使用带通配符的“路由键”来做与VirtualTopic相同的事情。
我已经配置了一个简单的Java发送者和消费者,一切正常,但现在我想使用“路由键”发布主题为TEST.*的消息,但我被困在这里,我不知道如何设置我的路由键与通配符。

nkoocmlb

nkoocmlb1#

考虑反转您的应用设计,让消费者声明他们的兴趣,而不是发布者发送到目的地列表(或通配符匹配)。
pub-sub的一个很好的租户是将生产者和消费者从寻址中分离出来,这减少了耦合。这是虚拟主题更强大的功能之一--它们非常实用。
使用虚拟主题没有什么不符合规范的地方。生产者只是发布到一个主题,消费者从队列中读取。这个功能在几个JMS规范的代理中可用,并且不会将您锁定在ActiveMQ中。与ActiveMQ 5的区别在于管理开销非常低。
1.将消息发布到“主题”-“TEST.EVENT”
1.任何感兴趣的消费者都可以通过连接并创建一个队列(或者可以管理性地创建队列)“Consumers.APP-1.TEST.EVENT”、“Consumers.APP-2.TEST.EVENT”等来注册自己。
1.作为奖励,集群中的网络代理变得更加直接,因为它们在集群主题时会出现意想不到的挂起。
1.这不是协议或语言特定的。您可以使用不同的编程语言(Java,.NET,JavaScript,Pythong等)或协议发送/recv- AMQP,JMS(openwire),STOMP,MQTT等,它“只是工作”

相关问题