2014-09-02 27 views
2

我的使用情況考慮三個角色:消息與Spring和外部消息代理

  • 一個消息生成(例如,一個遠程後端); (例如,RabbitMQ);或者,
  • 一個消息消費者(一 - 基於Web的應用程序上是自己AS)。

的通信過程如下:

  1. 消息生成創建消息(通過指定收件人),然後將其發送到消息代理;
  2. The Message Broker將消息中繼到消息使用者;
  3. 消息消費者接收該消息,然後通過使用的WebSocket它傳送給一個特定的用戶(通過映射收件人用戶名)。

是否可以實現這種情況?

回答

2

是的這種情況絕對可以實現。有什麼特別的部分讓你感到困擾?如果你沒有在你的場景中使用消息消費者來做其他任何事情,那麼你可以將這部分消除,並且直接在瀏覽器端消費這些消息。

這將涉及使用STOMP協議,大多數消息代理可以支持開箱即用或可以使用插件(包括RabbitMQ btw)啓用。在瀏覽器端,你可以使用StompJS。羅森Stoyanchev去年給上這個偉大的談話在SpringOne2GX - 幻燈片在這裏......

http://rstoyanchev.github.io/s2gx2013-websocket-browser-apps-with-spring/#1

我希望這是對你有用。

+0

首先,謝謝你的回答。作爲Message Broker和WebSocket的新手,我不明白在步驟1中如何正確設置收件人,那麼我如何在Spring中實現處理程序,以便在步驟3期間僅向特定用戶發送消息。 – vdenotaris 2014-09-02 15:02:48

+0

this已被覆蓋在各個地方,但手冊本身應該讓你對從哪裏開始有很好的瞭解。http://docs.spring.io/spring/docs/4.0.2.RELEASE/spring-framework-reference/htmlsingle/ #websocket-stomp-handle-user – dectarin 2014-09-02 15:05:01

+0

您可能還想看看https://speakerdeck.com/salmar/deep-dive-into-spring-websockets以瞭解有關消息流的更多信息 – 2014-09-10 16:11:35