问题标签 [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 投票
0 回答
218 浏览

protocol-buffers - 从协议缓冲区转换为分层通用请求

我们正计划迁移 grpc 微架构。所以我们需要一个通用适配器来将协议缓冲区请求对象转换为现有的 POJO 对象,反之亦然。

在我们目前的情况下,我们有:-

如上场景,我们必须转换成我们的通用ServiceRequest<Student>POJO 对象。协议缓冲区对象有两部分:

  1. RequestIdentity - 负责创建 ServiceRequest。
  2. id 和 name - 是 Student 的有效负载。

同样明智地使用通用适配器转换不同的请求?任何想法

0 投票
1 回答
1393 浏览

grpc - 在服务器拦截器中应答 gRPC 调用

我想验证呼叫并可能在服务器拦截器中回答错误。有没有办法做到这一点?如果是,我该如何实现?

0 投票
2 回答
10634 浏览

protocol-buffers - gRPC 中的异常处理

我有一个用 Java 编写的服务器和一个用 PHP 编写的客户端。如果出现任何问题,客户端如何从服务器捕获异常?我在 gRPC 文档中找不到任何有关异常处理的信息。

谢谢!

0 投票
1 回答
126 浏览

grpc - 我不知道如何使用 gRPC

在此处输入图像描述

[szm@localhost helloworld]$ protoc --plugin=protoc-gen-grpc-java=/home/szm/build/exe/java_plugin/protoc-gen-grpc-java --grpc-java_out=./src/main/java/ ./src/main/proto/helloWorld.proto

我明白sayHelloGrpc.java了,但它有一些像那张照片一样的问题。

0 投票
1 回答
1590 浏览

java - 如何使用协议缓冲区编译器为我的服务生成 java 接口而不是抽象类?

如何使用协议缓冲区编译器为我的服务生成 java 接口而不是抽象类?

现在我使用一个 Gradle 插件,它接受.proto文件并为我的服务而不是接口生成抽象类。鉴于 Java 不允许您扩展多个类,这可能会产生问题。

在浏览文档后,到目前为止我找不到解决方案或方法,所以任何帮助都会很棒。

我的 build.gradle 看起来像这样

我发现了它不生成接口的原因,看起来它已被弃用,所以我不确定生成接口的方法是什么。如果您查看我的build.gradle option 'enable_deprecated=false'将其打开为 true 将生成接口,但是注释说它已被弃用,所以我不确定生成接口的新方法是什么。我想要接口而不是抽象类。

0 投票
1 回答
2308 浏览

android - Android上的grpc服务器

我正在尝试在提供者和消费者进程之间建立一个与平台无关的通信渠道。发现 grpc + protobuf 是一个不错的选择。

是否有在 Android 上运行的 GRPC 服务器(Java/C++)的示例或实现?我正在按照 grpc java 服务器示例来实现服务器 i

我不断收到错误

谢谢

0 投票
1 回答
3030 浏览

grpc - 映射字段中的键不能是浮点/双精度、字节或​​消息类型

我们正计划将我们现有的服务迁移到 grpc 服务。所以需要将服务转换为原型定义的消息类型。在响应中,我们有以自定义对象为键的映射。

例如响应:

在官方文档中,他们提到,

其中 key_type 可以是任何整数或字符串类型(因此,除了浮点类型和字节之外的任何标量类型)。value_type 可以是任何类型

是否有任何替代方法可以在 proto3 中实现自定义对象键映射?

0 投票
1 回答
963 浏览

java - 在 grpc-java 中是否有支持故障转移的官方方法?

使用grpc-java时,是否有推荐的方法来支持故障转移?

例如,您连接到一台服务器,然后该服务器出现故障。您从中恢复的推荐方法是什么?

我看过实验LoadBalancer课。是为了解决问题吗?还有各种拦截器类,但我不知道如何使用它们对连接错误做出反应。

我们正在使用grpc-spring-boot-starter,但我也没有看到故障转移支持。

我想避免的是处理业务类中的所有重新连接。例如,通过在此处捕获异常并建立与下一个可用服务器的连接。如果可能的话,应该透明地处理。

0 投票
2 回答
3749 浏览

java - 使用 grpc 和 protobuf Hello world 示例面对 io.netty.util.AttributeKey.valueOf() 方法的 NoSuchMethodError

运行 GreetingServerTest.java 测试后,我得到以下给定错误。我正在使用 grpc 1.1.0-SNAPSHOT 库并尝试实现 git repo 中给出的 grpc 的基本 Helloword 示例。任何人都可以建议我缺少哪些库或我需要做的其他事情。

pom.xml

hello_world.proto 文件

GreetingServerTest.java

0 投票
1 回答
9763 浏览

java - java-grpc:如何增加 ManagedChannel 中的消息大小限制?

我们的通信超出了grpc-java对消息大小的默认限制:

可以增加该限制,请参阅https://github.com/grpc/grpc-java/issues/917

在 Channel/Server 构建器上设置 maxMessageSize()。

然而,当尝试在我们的代码库中实现修复时,我不清楚如何做到这一点,因为并非所有Channel实现都有maxMessageSize方法。

我们的代码使用ManagedChannel. 设置代码如下所示:

也许我遗漏了一些东西,但我看不到如何增加ManagedChannel. 只有OkHttpChannelBuilder有它 ( OkHttpChannelBuilder#maxMessageSize)。

问题:

  • 如何使用 增加消息限制ManagedChannel
  • If it is not possible with ManagedChannel, how can I rewrite the code to use another channel implementation that support to increase the default limit?