Java中的gRPC – 阻塞非阻塞存根

Java中的gRPC – 阻塞非阻塞存根,第1张

概述我正在尝试创建一个 java grpc客户端来与go中的服务器通信.我是grpc的新手所以遵循本教程 gRPC Java Tutorial.在这些示例中,它们指的是阻塞和非阻塞存根,它们似乎是从 github的其他地方导入的. import io.grpc.examples.routeguide.RouteGuideGrpc.RouteGuideBlockingStub;import io.gr 我正在尝试创建一个 java grpc客户端来与go中的服务器通信.我是grpc的新手所以遵循本教程 gRPC Java Tutorial.在这些示例中,它们指的是阻塞和非阻塞存根,它们似乎是从 github的其他地方导入的.

import io.grpc.examples.routeguIDe.RouteGuIDeGrpc.RouteGuIDeBlockingStub;import io.grpc.examples.routeguIDe.RouteGuIDeGrpc.RouteGuIDeStub;......    blockingStub = RouteGuIDeGrpc.newBlockingStub(channel);asyncStub = RouteGuIDeGrpc.newStub(channel);

但是我在他们的回购中找不到这些类.如果在编译.proto文件时它们是否已生成,我仍然对它们的用途感到朦胧?任何帮助/指针将不胜感激.谢谢.

解决方法 运行protoc编译器时会生成grpc存根类,并在proto文件中找到服务声明.存根类是客户端用于在服务端点上进行rpc调用的API.

这些存根有两种形式:阻塞和异步.

阻塞存根是同步的(阻止当前运行的线程)并确保在它上面调用的rpc调用在返回响应或引发异常之前不会返回.应该注意不要从UI线程调用阻塞存根上的rpc,因为这将导致无响应/ janky UI.

异步存根通过StreamObserver回调对象进行非阻塞rpc调用,其中响应是异步返回的.

有关更多信息,请参阅有关存根here的grpc文档.

总结

以上是内存溢出为你收集整理的Java中的gRPC – 阻塞/非阻塞存根全部内容,希望文章能够帮你解决Java中的gRPC – 阻塞/非阻塞存根所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1213697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存