在运行时动态解析.proto文本文件以生成描述符

时间:2016-03-18 02:00:59

标签: java protocol-buffers protoc proto3

我目前正致力于Google协议缓冲区,需要生成动态消息。我已经定义了如下所示的.proto文件。

message TSInbound
{
  string id = 1;
  map<string,string> state = 2;
  map<string,string> reading =3;
}

AFAIK,我可以使用文件描述符集来创建动态消息。但是,这将涉及使用编译器生成desc文件。我想生成描述符而不编译.proto文件。有没有办法使用自定义.proto文件动态创建消息而不使用protoc?

1 个答案:

答案 0 :(得分:5)

我想你在问:“有没有办法在运行时动态解析文本.proto文件以获取描述符。”

.proto解析器是用C ++编写的。它可以作为库libprotoc.so使用。理论上,你可以编写一个JNI包装器来在运行时进行解析。但是,.proto文件没有(官方)纯Java解析器。

相关问题