相关疑难解决方法(0)

如何直接从protobuf创建GRPC客户端而不将其编译成java代码

使用 gRPC 时,我们需要通过协议缓冲区编译器 (protoc) 或使用 Gradle 或 Maven protoc 构建插件从 .proto 服务定义生成 gRPC 客户端和服务器接口。

Flow now: protobuf file -> java code -> gRPC client.
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法可以跳过这一步呢?

如何创建一个通用的 gRPC 客户端,可以直接从 protobuf 文件调用服务器,而无需编译成 java 代码?或者,有没有办法在运行时生成代码?

Flow expect: protobuf file -> gRPC client.
Run Code Online (Sandbox Code Playgroud)

我想构建一个通用的 gRPC 客户端系统,输入是 protobuf 文件以及方法、包、消息请求的描述......而不必为每个 protobuf 再次编译。

非常感谢。

java protocol-buffers grpc grpc-java

9
推荐指数
2
解决办法
1万
查看次数

如何在java中设置protobuf DynamicMessage的扩展名?

我正在运行时DynamicMessage.proto加载的文件中构建java .

我的问题是将扩展设置为此类消息.

我有:

  • Descriptors.Descriptor包含类型并DynamicMessage为其创建
  • Descriptors.Descriptor扩展类型并DynamicMessage为其创建

现在我不知道如何设置包含消息的扩展名.

如果我要求字段列表,则包含描述符仅列出没有扩展字段的字段.这是有道理的.

扩展描述符只包含扩展类型的字段(它没有包含类型的字段).

请告诉我如何将它们组合在一起.

要了解上下文,您可能需要查看我之前关于此主题的问题,该问题与扩展无关:在运行时生成的协议缓冲区对象

编辑:

事实上,我正在寻找.setExtension生成的消息的类比.我注意到只有GeneratedMessage延伸,ExtendableMessage但我相信一定有办法:)

java protocol-buffers

2
推荐指数
1
解决办法
3045
查看次数

标签 统计

java ×2

protocol-buffers ×2

grpc ×1

grpc-java ×1