Буферы протокола с помощью JPA
-
18-09-2019 - |
Вопрос
В настоящее время я создаю P2P-систему, которая использует буферы протокола для всей связи между одноранговыми узлами.Существует также несколько централизованных частей системы, где одноранговые узлы взаимодействуют с сервером.Сервер использует JPA для хранения имеющихся у него данных о одноранговых узлах.
Таким образом, по сути, клиенты хранят свои данные в буферах протокола-сообщениях, а сервер - в JPA-объектах.Поэтому мой вопрос заключается в том, есть ли способ автоматического преобразования между ними?
То, что я ищу, это:
- Генератор JPA-сущностей из .protos-файлов ИЛИ
- Генератор .protos-файлов из JPA-сущностей И
- Какой-нибудь способ автоматического преобразования между ними во время выполнения, поэтому мне не нужно создавать код, чтобы делать это вручную для каждого нового класса.
В идеале вы могли бы сделать еще один шаг вперед и сделать так, чтобы они оба были одними и теми же классами (т.е.Буферы протокола с аннотациями JPA), но если это невозможно, то вышеприведенное также сработает.
Было ли это сделано, и если нет, то считаете ли вы, что это возможно реализовать в разумные сроки?
Решение
API буферов протокола Java хочет сгенерировать классы.Так что, похоже, было бы трудно потом их комментировать.Вместо этого вы могли бы начать со своей собственной XML-"схемы", а затем иметь таблицы стилей XSLT, которые:
- Создает файл .proto
- Создает XML-файл сопоставления объектов JPA.
Затем вы могли бы использовать файлы, сгенерированные Google с помощью JPA.