Буфер протокола Google и сервлеты - PullRequest
1 голос
/ 22 июля 2009

Мне интересно, как я могу использовать буферы протокола Google, чтобы принять запрос и отправить ответ клиенту? Я думаю о написании сервлета, который примет запрос. Является ли следующий путь мысли правильным способом реализации этого: 1. Имейте файл .proto, который является определением сообщения для входящего запроса. 2. Напишите сервлет, который принимает этот запрос, выполняет различные задачи, такие как запрос к базе данных. а затем отправляет ответ. Требуется ли для этого ответа отдельное определение сообщения .proto со всеми полями, составляющими ответ? 3. Будет ли клиент просто вызывать метод doGet () моего сервлета и передавать запрос, затем он должен возвращать ответ как объект protobuff?

Любое предложение или идея будут очень цениться.

Ответы [ 2 ]

6 голосов
/ 22 июля 2009

Обычно вам требуется сообщение с запросом и ответное сообщение, да. Возможно, вы также захотите, чтобы имя метода описывало действие - именно так работают встроенные PB-сервисы.

Клиент не будет вызывать doGet () - он сделает запрос (вероятно, POST, а не GET), и ваш сервлет получит его.

Теперь, в идеале, у вас может быть общий "ProtocolBufferServlet", который может обслуживать запросы, передавая их службам, реализующим соответствующие интерфейсы.

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

0 голосов
/ 27 августа 2009

HI

У меня есть это и работает. Я закончил тем, что отправил запрос http как сообщение в мой сервлет. Мне удалось получить буфер протокола запроса, прочитать запрос, выполнить некоторую обработку и затем отправить ответ. Это было на самом деле очень просто, когда я начал работать. Мы использовали файл 1 .proto для определения структуры сообщения запроса и ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...