2017-01-13 38 views
2

我已實現了以下的WebSocket端點與Spring的WebSocket基本沒有STOMP和SockJS

@MessageMapping("/socket/{myId}/") 
@SendTo("/queue/myqueue") 
public MyObject getObject(@DestinationVariable String myId) throws Exception { 

    return new MyObject("MyId:" + myId); 
} 

現在,我怎麼能發送消息到端點從我service.java類的嗎? 還會有前端客戶端,一旦service.java類的方法向websocket端點發送一些消息,它將從websocket讀取消息。我有點困惑,我該怎麼做?

任何幫助,將不勝感激

回答

0

你應該看看SimpMessagingTemplate。 例如,如果你想從你的服務類發送消息爲特定用戶:

@Autowired 
private SimpMessagingTemplate messagingTemplate; 

public void sendMessage(User user, String message) { 
    Objects.requireNonNull(user); 
    Objects.requireNonNull(message); 
    messagingTemplate.convertAndSendToUser(user.getUsername(), "/queue/myqueue", message); 
} 
+0

謝謝。讓我試試那個 – Ijaz

1

當使用原始的WebSocket(不STOMP),發送郵件的信息缺乏,使春路由到一個具體的消息處理程序方法(我們沒有任何消息協議),所以不是註釋你的控制器,你必須通過擴展TextWebSocketHandler 公共無效handleTextMessage(WebSocketSession會議的TextMessage消息)來實現WebSocketHandler {}

結帳示例spring boot websocket without STOMP and SockJs

相關問題