Java gRPC 处理客户端上没有可用的服务

时间:2020-12-24 14:22:59

标签: grpc grpc-java

不知道有没有什么方法可以正确处理客户端可以建立到服务器的通道,但服务器端没有部署匹配的服务的情况。 到目前为止,在我的测试中,我看到客户端可以成功发送 rpc 调用,然后永远等待响应。 在这种情况下,有没有办法指示服务器或客户端抛出异常?

我偶然发现了 fallbackHandlerRegistry。但是如果没有找到,你只能返回空或空。您似乎无法告诉服务器关闭调用,因为这里没有部署类似的东西。

2 个答案:

答案 0 :(得分:0)

不,有逻辑来处理这种情况,你的语言是什么?

在grpc-java中,执行StreamCreated任务时会检查方法是否存在,如果在registryfallbackRegistry中没有找到方法,则返回{{1}现在的状态。您可以参考方法StreamCreated#runInternal

答案 1 :(得分:0)

服务器确实在响应中向客户端发送 UNIMPLEMENTED 状态,客户端将其作为 S3 接收,状态 = UNIMPLEMENTED