Динамический анализ текстового файла .proto во время выполнения для генерации дескрипторов

В настоящее время я работаю над буферами протокола Google и мне нужно создавать динамические сообщения. Мои файлы .proto уже определены, как показано ниже.

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

AFAIK, я могу использовать набор дескрипторов файла для создания динамических сообщений. Но это потребует использования компилятора для создания файлов desc. Я хотел бы создать дескриптор без компиляции файлов .proto. Есть ли способ динамического создания сообщения с использованием пользовательских файлов .proto, а не с использованием протокола?


person Ankita    schedule 18.03.2016    source источник


Ответы (1)


Я думаю, вы спрашиваете: «Есть ли способ динамически анализировать текстовые .proto файлы во время выполнения для получения дескрипторов».

Парсер .proto написан на C ++. Он доступен как библиотека libprotoc.so. Теоретически вы могли бы написать оболочку JNI для этого, чтобы выполнять синтаксический анализ во время выполнения. Однако (официального) синтаксического анализатора на чистом Java для .proto файлов не существует.

person Kenton Varda    schedule 18.03.2016
comment
Да, @ kenton Varda именно этим я и хочу заниматься. Спасибо за ваше предложение - person Ankita; 18.03.2016
comment
@Ankita Вы нашли решение вышеупомянутой проблемы? - person Prog_G; 14.09.2020