我正在開發和春天有個Java的Web應用中的主要框架(彈簧芯,Spring MVC的,春天的安全性,數據春,春天的WebSocket也有明顯的使用)。調度-的servlet不能映射到的WebSocket請求
聲明在Spring上下文的消息,經紀人這樣提供SimpMessagingTemplate豆上下文:
<websocket:message-broker>
<websocket:stomp-endpoint path="/stomp">
<websocket:sockjs/>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic,/queue"/>
</websocket:message-broker>
我必須把這個標籤在我的根上下文(applicationContext.xml中),另有聲明的服務根上下文無法通過websocket發送通知給用戶(因爲他們需要SimpMessagingTemplate)。
的事情是,如果我把這個標籤在根上下文,客戶收到了404當他們訂閱的WebSocket。如果我把標籤在調度員的servlet,然後在根上下文服務無法發送通知,因爲他們需要的SimpMessagingTemplate(但它僅適用於子調度員servlet上下文)。
有沒有辦法「綁定」的調度員的servlet的經紀人?兩次聲明這個bean不是一個正確的解決方案。
此問題是相同的,但Spring : how to expose SimpMessagingTemplate bean to root context ?從另一個角度看(在根上下文,而不是在調度員的servlet聲明的WebSocket)