[英]How to route messages to specific clients using ActiveMQ?
我想运行一个基于Java的消息代理,它将消息路由到Web客户端。 Web客户端连接是使用我们的自定义Java Websocket代码在我们的服务器上处理的,该代码可根据用户数据库对用户进行身份验证。
我认为我的服务器端websocket处理程序代码将连接到ActiveMQ并通过AQMP执行订阅管理。
但是我有一个具体要求:
请注意,如果客户端未连接,则无需保留消息。 消息正在用于通知Web客户端应用程序它们需要执行的操作。
我正在考虑ActiveMQ,但我希望有该产品经验的人可以澄清它是否支持此要求?
如果ActiveMQ并非最佳选择,您还能推荐其他东西吗?
谢谢
是的,ActiveMQ是一个不错的选择。
就具体方法而言,它取决于您的数据模型和消息流。 您有几种选择,包括:
生产并消费给每个客户一个主题a。 客户端ABC的消息转到topic://CLIENTS.ABC,客户端XYZ的消息转到topic://CLIENTS.XYZ,订阅者将进行相应的连接。
产生带有标头的消息,并使用用户端选择器(AMQP中的“过滤器”)按客户端过滤消息。 (abc客户端订阅-ClientId = ABC,xyz客户端订阅-ClientId = XYZ)
使用WebSockets时,您可能还会寻找基于文本的协议STOMP。 (仅取决于您的编程语言和所考虑的可用库)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.