当前位置: 首页 > 知识库问答 >
问题:

使用Spring在STOMP上实现RPC,并正确处理传播到客户端的服务器端错误

狄钧
2023-03-14

当然,当只发出一个请求并且客户机等待其答复时没有问题,但是当客户机必须跟踪多个“打开的”rpc调用时,问题就出现了。

我通过将ID与每个请求相关联来使系统变得非常好,即:客户机将ID与消息一起发送,服务器使用包含此ID的特殊消息包装器进行答复,因此客户机能够将异步答复与请求相关联。

这很好,但有几个限制:

如何在Spring中优雅地实现正确处理服务器端异常的RPC调用?

我发现这是一个普遍的问题,我认为Spring可以在本地实现它。

共有1个答案

衡高寒
2023-03-14

这并不完全符合您的要求,但也许您可以尝试这样的方法:Spring WebSockets@Sendto映射中的路径变量

在客户端定义一个ID,并将ID发送到serveur端的queue/user/queue/{myid},您将得到如下所示的类:

@MessageMapping("/user/queue/{myid}")
public void simple(@DestinationVariable String id, Object requestDto) {
    simpMessagingTemplate.convertAndSendToUser(userId, "/user/queue/" + id, responseDto);
}

此解决方案的工作原理与您提到的rabbit mq解决方案相同。

 类似资料:
  • 本文向大家介绍Python XML RPC服务器端和客户端实例,包括了Python XML RPC服务器端和客户端实例的使用技巧和注意事项,需要的朋友参考一下 一、远程过程调用RPC XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a transport. With it, a client ca

  • 本文向大家介绍Java实现文件上传服务器和客户端,包括了Java实现文件上传服务器和客户端的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java实现文件上传服务器和客户端的具体代码,供大家参考,具体内容如下 文件上传服务器端: 文件上传客户端: 本文已被整理到了《Java上传操作技巧汇总》,欢迎大家学习阅读。  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐

  • 本文向大家介绍php上传图片客户端和服务器端实现方法,包括了php上传图片客户端和服务器端实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php上传图片客户端和服务器端实现方法。分享给大家供大家参考。具体如下: 前台表单代码 后端php代码 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍java模拟TCP通信实现客户端上传文件到服务器端,包括了java模拟TCP通信实现客户端上传文件到服务器端的使用技巧和注意事项,需要的朋友参考一下 java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下 客户端 服务器端 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我正在尝试在grpc上使用服务流和客户端上的异步存根建立一个简单的发布/订阅模式。在实现了部分流式消息返回到客户端之后,我想处理连接中断的场景。现在,我正在实现服务关闭时的部分,例如,客户端应该从连接丢失中“恢复”。 我在google/github/so上阅读并搜索了关于重试机制的内容,最后为流式传输消息的服务中的方法设置了重试策略。据我所知,当服务返回重试策略中定义的一些retryableSta

  • go的rpc服务端返回的gorm.ErrRecordNotFound与客户端的gorm.ErrRecordNotFound使用errors.Is比较的结果为false。 尝试在两端都注册: errors.Is依旧返回false。 现在的解决方案是直接比较字符串的相等性来判断是不是ErrRecordNotFound错误。 想问下,如果利用errors.Is来比较的话,要怎样实现?