如何解决确保客户端按发布顺序接收服务器响应
我使用 setPreservePublishOrder(true)
来确保来自服务器的响应按照服务器发送它们的顺序到达客户端。这是为了确保客户端始终收到最新的服务器状态。
但是,在集成测试期间,许多客户端(WebSocketStompClient
和 SockJS)快速连续发出请求,有时最后收到对旧请求的响应,因此错误地认为是最新的。我可以说是因为我已经用一个随每个请求增加的增量器对响应进行了时间戳记。
如果我添加跟踪响应时间戳的客户端逻辑并且只保留具有最高时间戳的响应,问题就会消失。
setPreservePublishOrder(true)
的保证有多强?也就是说,我是否应该假设订单应该被保留并且问题出在其他地方?或者实际上是否需要我额外检查客户端的时间戳,以防止对旧请求的延迟到达响应覆盖对新请求的现有响应?
我正在测试的端点是 synchronized。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。