前端通过 sockJs 和 stomp client 和 Spring WebSocket 建立链接。。
按照 spring io 的 demo 是 ok 的,但是其方式是将@MessageMapping 和 @SendTo 这两个注解同时绑定在 Controller 的方法上;
个人理解为 @MessageMapping 是前端的 endpoint,作为后端的接受, 而@SendTo 作为后端向前端订阅者推送。
由于实际需求, 其实只需要后端向前端推送通知即可。尝试代码如下:
@Controller
public class MessageEndPoint {
@MessageMapping("/chat")
public void receive(String message) throws Exception {
$save(message);
}
@SendTo("/topic/notify")
public String send(String msg) {
return "time to refresh";
}
}
其实我想把接受和推送单独分离开, 但是不好使。。。