问题标签 [grpc-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
5318 浏览

protocol-buffers - 如何在 .proto 中将 json 作为有效负载传递

根据以下页面,我应该能够发送 json 有效负载:https ://developers.google.com/protocol-buffers/docs/proto3 在“JSON 映射”下。

我想将 json 有效负载作为消息的一部分发送,并且我有以下 .proto 文件:

但是编译它会给我以下错误:

我也尝试过'Struct',但我得到了同样的错误。

我误解了用法吗?如果我必须发送 json 有效负载,我是否作为字符串传入?

谢谢

0 投票
1 回答
924 浏览

protocol-buffers - 如何在 Grpc / Protobuf 中进行路由并避免反序列化?

在我们的 Java 应用程序中,我们需要接受一个(大)Grpc 消息,提取一个字段,然后根据该字段的值将消息转发到另一台服务器。

我试图避免在传递消息之前完全反序列化消息的开销。

一种方法是将字段作为单独的查询或标头参数发送,但 Grpc 不支持它们。

另一种方法是仅从有效负载中提取感兴趣的字段,但 Protobuf 不支持部分或选择性反序列化。

我还能怎么做?

0 投票
1 回答
4192 浏览

java - Java grpc 运行时错误

我正在尝试仅使用本地依赖项来编译和运行 java grpc 客户端,但出现以下错误:

这是我的gradle文件:

该程序将编译,但不会运行。我已经从 protos 生成了我的 java 文件,并验证我使用了正确的 protoc 和 protoc-gen-grpc-java 来对应我正在使用的 jar 库。任何帮助表示赞赏。

0 投票
1 回答
1663 浏览

android - 带有验证的单元测试 proto3 生成的对象

我正在使用proto3Android 应用程序,但我遇到了对象相等问题,这使得测试非常困难,尤其是对于验证方法

这是代表问题的单元测试:

很明显,该方法equals无法正常工作,检查生成的代码(附在底部)没有相等,生成哈希码。我可以assertThat通过 using.toString方法解决这个问题,但我找不到任何其他验证方式,例如。verify(anyMock).anyMethod(playerCards)

如果检查时不是非常小心,恐怕这也可能会影响我的运行时间。

  • 有没有办法生成equals, hashcode?
  • 如果没有,我至少可以扩展、覆盖verify以便toString在检查原始生成的对象时使用吗?

代码片段:

我的原型文件是:

我通过gradle build生成文件并使用以下属性

生成的输出

0 投票
1 回答
351 浏览

java - Java + GRPC,傻瓜?

我设法从 github 克隆了 grpc-java 并运行了 gradlew 脚本。Helloworld 似乎正在工作等等。但是现在我几乎被困住了。如何继续在 Eclipse 上进行开发?我需要在项目中添加一个 .jar 文件吗?这是如何运作的?

0 投票
1 回答
656 浏览

java - 配置 Bigtable 和 gRPC 日志记录

我想像我的应用程序的其他模块一样配置来自 Google Cloud Bigtable (gRPC) 的日志记录

带有 SLF4J/log4j 的日志,其属性配置为从 spark 中消除 INFO 日志

来自 Bigtable gRPC 的日志

我想强制记录使用 SLF4J/Log4j。

我该怎么办 ?

谢谢你的帮助

0 投票
4 回答
5225 浏览

spring-boot - 使用 Spring Security 的 gRPC 和 OAuth2 身份验证

我正在使用基于 Spring 的“后端”和 Android“前端”来试验 gRPC,其想法是我将使用 HTTP 上的密码授予类型请求访问令牌(使用标准 /oauth/token RESTful 端点)并使用通过 RPC 的所有后续请求中提供的访问令牌(设置授权标头)。

我的 spring '后端' 上有一个 gRPC 服务器拦截器,它将从服务器调用中获取授权标头并针对令牌存储验证访问令牌。

我不知道下一步该做什么,或者即使到目前为止我所拥有的是“正确”的方法。

这是我的拦截器:

如何获取令牌服务以及如何仅使用我自己提供的访问令牌针对该服务对我的用户进行身份验证。

我的安全配置如下:

我应该在这里手动设置令牌服务,然后将其注入我的拦截器还是???完成这项工作的“最灵活”的方法是什么?

任何帮助是极大的赞赏!

0 投票
1 回答
356 浏览

json - 使用 gRPC 的 ObjectMapper 异常

我正在使用 gRPC ( http://www.grpc.io ),并且我有一个从客户端到服务器的请求。我希望使用ObjectMapper mapper或 Jackson 来创建 Json 字符串。

例如

但是在执行期间我有一个例外来启动。

0 投票
1 回答
38559 浏览

java - java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument

我正在尝试在我的本地运行这个grpc-Java示例。对应的 proto 文件在这里。当我尝试在本地运行时,它会从这里抛出以下异常:

这是我这里提到的 pom.xml :

0 投票
2 回答
3644 浏览

nginx - 如何使用 nginx 1.9.5 作为 gRPC 的反向代理?

我想要

  • 用 Java 编写我的后端代码,
  • 使用 HTTP/2(NGINX 1.9.5 已经支持 HTTP/2),
  • 编写双向流以随时在客户端和服务器之间发送数据。

gRPC似乎是最好的选择,我想使用NGINX作为我的反向代理和负载平衡,我找不到任何文档来弄清楚如何将 NGINX 与 gRPC Java 一起使用,有人知道吗?


我看到gRPC PHP已经支持NGINX了:https ://github.com/grpc/grpc/tree/master/src/php#use-the-grpc-php-extension-with-nginxphp-fpm

但我也看到有一个问题说它正在为 gRPC 支持在 NGINX 中提交一个 3rd 方模块的过程中,并且 NGINX 上有一张票意味着我们不能为 gRPC 编写 HTTP/2 NGINX 代理模块,我还看到nginx 不支持完整的 HTTP/2 规范,gRPC 无法通过它工作

我对此感到困惑,为什么有些帖子说 gRPC PHP 有效,但在其他帖子中却说它不能。