Генератор gRPC protobuf для Java — другой сгенерированный код

Я просматриваю различные руководства по gRPC и использую его в Java, но код, который я получаю после запуска протокола, и код в руководствах сильно отличаются. Например, я смотрю видео от Рэя Цанга, и интерфейс сервиса выглядит как GreetingServiceGrpc.GreetingService, но когда я пытаюсь сгенерировать свой собственный, я получаю GreetingService.Interface. Кроме того, в моем сгенерированном коде нет никакого эффекта от ключевого слова «поток», поэтому я не понимаю, как его использовать. У меня такое ощущение, что я вообще использую какой-то неправильный инструмент или, по крайней мере, другую его версию. Пожалуйста, укажите мне правильный путь :)

protoc.exe --version  // 3.0.0

person Fergus MacDubh    schedule 20.04.2017    source источник


Ответы (1)


protoc.exe сам по себе генерирует только классы сообщений protobuf. Чтобы сгенерировать код gRPC, он должен работать с подключаемым модулем генератора кода gRPC. Самый простой способ использовать его — через protobuf-maven-plugin или protobuf-gradle-plugin, которые загрузят protoc и плагин для генерации кода gRPC и запустят их для вас. Фрагменты примеров для подключаемых модулей Maven/Gradle можно найти в README gRPC Java. Существует также отдельный пример проекта, в котором используется подключаемый модуль Gradle. .

person Kun Zhang    schedule 02.05.2017