【发布时间】:2016-06-17 22:47:49
【问题描述】:
我可以使用SimpMessagingTemplate#convertAndSendToUser 或SimpMessagingTemplate#convertAndSend 方法向消息代理发送消息,而无需使用@EnableWebSocketMessageBroker 设置websocket 消息代理吗?
我想做的是利用一台 websocket 服务器为两个应用服务器实例(一个 spring 4 和一个 Spring 3)提供消息传递。我创建了一个启用了 Spring 4、Spring boot 和 websocket 消息代理的 Web 服务器。
现在我想要两个应用程序服务器将消息推送到rabbitmq,以便它将它们广播给订阅它的客户端。
我面临的第一个问题是,如果没有可用的 websockt 消息代理配置,SimpMessagingTemplate 将不会自动连接到应用程序上下文。如果不创建 websocket 留言板,我也无法将其注入。
请帮我看看这是否可行。
顺便说一句,我有一个与此相关的 previous question 未答复。
【问题讨论】:
-
我认为要向rabbitmq这样的代理发送消息,你不应该使用
SimpMessagingTemplate,而应该使用RabbitTemplate -
是的,这应该是一般情况。我们应该可以直接推送到rabbitmq队列。在 Spring websocket 中,该部分已隐藏在某个地方。无法弄清楚队列名称是什么等。配置消息代理时,它提供
SimpMessagingTemplate类的 bean 和两种方法将消息推送到消息代理。
标签: spring spring-mvc spring-websocket spring-4