Автоматизируйте генерацию gRPC / proto сервисов для Java EJB

#java #ejb #protocol-buffers #grpc #code-generation

#java #ejb #протокол-буферы #grpc #генерация кода

Вопрос:

У нас есть пара довольно крупных приложений EJB, все еще использующих RMI, и мы хотим отказаться от RMI и использовать вместо него gRPC. Мы создали прототип этого, и он кажется жизнеспособным и достаточно чистым решением. Конечно, у gRPC есть ограничения, но он будет охватывать большинство наших сценариев.

Итак, теперь я рассматриваю создание сервисов proto и сообщений для десятков компонентов, насчитывающих сотни методов. Это потребует значительных усилий вручную. И я начинаю задаваться вопросом, не лучше ли потратить мое время на написание инструмента, который хотя бы в какой-то степени автоматизирует эту задачу. Что-то, что сканирует наш java-код на наличие интерфейсов EJB и автоматически генерирует файлы proto.

Например, одна служба gRPC на интерфейс / EJB, один метод обслуживания gRPC на интерфейс / метод EJB и соответствующие сообщения protobuf для их входных и выходных параметров. Версия Mercedes такого потенциального инструмента может быть плагином gradle и теоретически может автоматизировать все, включая отображение protobuf / POJO и даже реализации сервисов gRPC, но давайте начнем с самого начала.

Моя проблема в том, что я не знаю, с чего начать, не изобретая несколько колес. Например, сканирование кода Java для EJBS и / или интерфейсов или даже аннотаций, вероятно, является чем-то, для чего инструменты и / или библиотеки уже существуют.

Есть идеи, на что я мог бы обратить внимание для вдохновения?

Спасибо

Калле

Комментарии:

1. github.com/forge/roaster хорошо смотрится для синтаксического анализа исходного кода Java. Я думаю, что теперь у меня есть отправная точка.