Jms ActiveMQ-仅发布有感兴趣订阅者的数据的策略?

Jms ActiveMQ-仅发布有感兴趣订阅者的数据的策略?,jms,activemq,messaging,publish-subscribe,messagebroker,Jms,Activemq,Messaging,Publish Subscribe,Messagebroker,我有一个消息代理,不同的客户将在一天中短时间连接到它 经纪人维护一个主题,它可以发布数千种商品的价格,但在任何给定时间,当前连接的客户集只对这些商品的一小部分感兴趣 在紧密耦合的系统中,客户机将明确订阅特定的内容,服务器将跟踪低级别的客户机连接/断开连接事件,自动取消订阅断开连接的客户机,并仅发布客户机订阅的内容的价格 在更松散耦合的消息传递系统(如ActiveMQ)中,处理此类事情的最佳方法是什么 在我的案例中,经纪人必须尽量减少其发布价格的物品数量,因为它从第三方系统获取价格,该系统对任何给

我有一个消息代理,不同的客户将在一天中短时间连接到它

经纪人维护一个主题,它可以发布数千种商品的价格,但在任何给定时间,当前连接的客户集只对这些商品的一小部分感兴趣

在紧密耦合的系统中,客户机将明确订阅特定的内容,服务器将跟踪低级别的客户机连接/断开连接事件,自动取消订阅断开连接的客户机,并仅发布客户机订阅的内容的价格

在更松散耦合的消息传递系统(如ActiveMQ)中,处理此类事情的最佳方法是什么

在我的案例中,经纪人必须尽量减少其发布价格的物品数量,因为它从第三方系统获取价格,该系统对任何给定时间可以流式传输价格的物品数量施加了硬约束

我的第一个倾向是不尝试跟踪低级别事件,即告诉经纪人谁目前有联系,也不要求客户明确表示他们不再对特定项目的价格感兴趣

取而代之的是,客户会定期宣布他们对某一特定项目的价格感兴趣。经纪人将公布任何有积极兴趣的东西的价格,并最终停止公布最近没有客户宣布有兴趣的东西的价格

因此,与更紧密耦合的系统不同,客户必须每隔一段时间重新宣布他们对给定的一组事物的兴趣,他们希望获得价格,但从不主动宣布兴趣的结束


对于此类问题,是否有更好或更为标准/公认的方法?

您的制作人需要了解连接的消费者及其选择器(如果有),因此我认为:

1-他需要维护一个选择器列表,以了解发布内容,因此,您需要使用建议消息来维护该列表

2-消费者在启动时向生产者发送消息,告知其感兴趣的信息以及如果您想要不同的目的地,可能要使用哪个目的地,并通知取消订阅或停止兴趣

3-简单地保持火势,忘记EIP模式

AdvisorySupport.getConsumerAdvisoryTopic()