Докер Java с основной загрузкой jar - PullRequest
0 голосов
/ 04 ноября 2019

Запуск приложений Java Client Server на основе gRPC в Java. Мне удалось сгенерировать заглушки для серверов, но когда речь идет о внутрисервисном взаимодействии, я не могу сгенерировать заглушки для клиентского приложения, которое оказывается военным файлом, запущенным в wildfly. Вот обзор.

  1. Сервер -> Продукты (Jar работает в контейнере)

  2. Клиент -> Файл War, запущенный на Wildfly

Клиент открывает конечную точку покоя, которая по очереди вызывает сервер.

Насколько я понимаю, я должен поделиться прототипом файламежду 1 и 2. Следующие прото копируются в 1 и 2 в src / main / proto

service ProductService {
    rpc findAll(google.protobuf.Empty) returns (Product);
}

message Product {
    string id = 1;
    string name = 2;
}

Вопрос. Насколько я понимаю, правильно ли делить файл протокола между двумя изолированными приложениями, а затем связываться между ними через сгенерированные заглушки.

1 Ответ

0 голосов
/ 04 ноября 2019

Совместное использование .proto в порядке. Вы также можете поместить сгенерированный код в библиотеку, которая используется клиентом и сервером. Вы также можете поместить .proto в общую папку (например, в хранилище), которую используют процессы сборки как клиента, так и сервера.

Копирование прототипа легко и работает. Вы просто хотите убедиться, что знаете, что такое «каноническая» версия прото;Вы хотите знать, какая версия должна быть обновлена ​​в первую очередь, чтобы вы знали самую последнюю версию прото. Вы не хотите, чтобы сопровождающие и вносили изменения в протокол, и затем должны выяснить, как объединить эти изменения.

...