Как передать данные из обычного сервлета без сохранения состояния в бэкэнд-экземпляр? - PullRequest
1 голос
/ 28 октября 2011

Я никогда не использовал бэкэнды Google App Engine, и меня очень смущает отсутствие примеров и подробной документации.

Допустим, у меня есть приложение для голосования.Я хочу собрать голоса в обычном сервлете GAE без сохранения состояния, а затем передать данные в бэкэнд-экземпляр, который является резидентным, и он обрабатывает мои данные.Как передать данные из обычного сервлета в серверный сервлет?Как мне назначить, какой класс сервлетов является обычным сервлетом, и какой сервлет должен обрабатываться только в бэкэнд-экземпляре?Я не понимаю, как я могу назначить сервлет для бэкенда в config xml.

Или что, если у меня есть два бэкэнда - класс B1 и класс B2.Как я могу выбрать в коде сервлета без сохранения состояния, какие бэкэнды сейчас активны?Я слышал, что мне нужно использовать URL Fetch для общения с бэкэндами, но как?Я не нашел, как я могу перебирать экземпляры бэкэнда.

Пожалуйста, сообщите:)

1 Ответ

3 голосов
/ 28 октября 2011

Вы должны начать с чтения документации по бэкэндам

Как передать данные из обычного сервлета в бэкэнд-сервлет?

У вас есть несколько вариантов - передать их косвенно, поместив данные в memcache или хранилище данных.Или передайте его напрямую, используя URLFetch для отправки запросов к вашим бэкэндам (см. Информацию об адресации ниже)

Как мне назначить, какой класс сервлета является нормальным сервлетом, а какой сервлет должен обрабатываться только в экземпляре бэкэнда?

В документе Конфигурация бэкэнда объясняется, что вы не можете сделать это (пока), хотя вы можете пометить их только как admin, чтобы они не были доступны для общественности:

Бэкэнды делятся набором сервлетов, определенных в web.xml, с вашей основной версией приложения.В настоящее время невозможно настроить отдельный набор сервлетов для каждого бэкэнда.

В разделе «Адресация бэкэндов» содержится информация о том, как подключиться к определенному бэкенду:

Бэкэнд-экземпляр может быть направлен с помощью HTTP-запросов на http://[instance].[backend].[app].appspot.com, или в пользовательский домен вашего приложения.Если вы ориентируетесь на бэкэнд без нацеливания на экземпляр, используя http://[backend].[app].appspot.com, App Engine выбирает первый доступный экземпляр бэкенда.

Когда вы конфигурируете свои бэкэнды, вы даете им имена, которые идут в [бэкэнд] слот в схеме URL, описанной выше.Если вы хотите отправить запрос http первому доступному экземпляру B1, вы должны использовать что-то вроде http://B1.ruslansapp.appspot.com/dosomething/

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