我的用例考虑了三个参与者:
- 消息生产者(例如,远程后端);
- 消息代理(例如RabbitMQ );
- 一个消息消费者(一个基于Spring的Web 应用程序,在自己的AS上)。
通信过程如下:
- 消息生产者创建消息(通过指定接收者),然后将其发送到 消息代理;
- Message Broker将消息中继到Message Consumer;
- 消息消费者接收消息,然后使用WebSocket将其传递给特定用户(通过映射收件人和用户名) 。
是否有可能实现这个场景?
我的用例考虑了三个参与者:
通信过程如下:
是否有可能实现这个场景?
是的,这种情况绝对可以实现。它有什么特定的部分让你感到困扰吗?如果您没有在场景中使用消息使用者来执行任何其他操作,您实际上可以忽略该部分并让消息直接在浏览器端使用。
这将涉及使用 STOMP 协议,大多数消息代理要么支持开箱即用,要么可以通过插件(包括 RabbitMQ 顺便说一句)启用。在浏览器端,您可以使用 StompJS。去年,Rossen Stoyanchev 在 SpringOne2GX 上就此做了一场精彩的演讲——幻灯片在这里......
http://rstoyanchev.github.io/s2gx2013-websocket-browser-apps-with-spring/#1
我希望这对你有用。