mys*_*pri 10 spring stomp subscribe websocket
我使用spring/stomp/websocket框架异步通知用户消息.我成功完成了这个.但是,我会从客户端获得ACK,以便在完成此操作时可以执行某些服务器端操作.
流程大致如下:
服务"知道"该消息已被确认,并将状态更新为DB中的"ACK".
stompClient.connect({login:'guest', passcode:'guest'},
function(frame) {
setConnected(true);
**var headers = {ack: 'client'};**
...
stompClient.subscribe('/user/guest/response',function(notification) {
//doSomething
}), **headers**);
}
Run Code Online (Sandbox Code Playgroud)在服务中,消息被发送:
this.messagingTemplate.convertAndSendToUser(user, "/response",msg, map);
Run Code Online (Sandbox Code Playgroud)
有没有办法在服务器端处理客户端ACK?或者,我试着做一个
stompClient.send("/app/response/ack/"+messageId);
Run Code Online (Sandbox Code Playgroud)
在客户端上,在处理订阅的方法中,但是徒劳无功.
有人可以告诉我什么是处理确认的标准方法?我一直在努力奋斗这几天,任何想法都会非常有帮助.
谢谢!
对于简单的经纪人来说,答案是否定的。
https://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html
简单的代理非常适合入门,但仅支持 STOMP 命令的子集(例如no acks、receipts等),依赖于简单的消息发送循环,并且不适合集群。作为替代方案,应用程序可以升级为使用功能齐全的消息代理。
| 归档时间: |
|
| 查看次数: |
3237 次 |
| 最近记录: |