Можно ли развернуть сервлет Java в GAE? - PullRequest
2 голосов
/ 23 января 2012

Возможно ли развернуть сервлет Java в GAE, или сервер должен быть размещен в другом месте?

Ответы [ 2 ]

9 голосов
/ 23 января 2012

Краткий ответ: Да

Немного более длинный ответ:

App Engine использует контейнер сервлетов Jetty для размещения приложений и поддерживает API сервлетов Java версии 2.4. Имейте в виду, что существует довольно много ограничений, которые вы должны соблюдать ( source ):

  • App Engine использует версию Java 6, но не предоставляет все классы Java, например, Swing и большинство классов AWT не поддерживаются.
  • Вы не можете использовать потоки или фреймворки, которые используют потоки.
  • Вы не можете писать в файловую систему.
  • Вы можете читать только те файлы, которые являются частью вашего приложения.
  • Некоторые действия "java.lang.System", например gc () или exit () ничего не сделают.
  • Вы не можете вызвать код JNI.
  • Отражение возможно для ваших собственных классов и стандартных классов Java, но вы не можете использовать отражение для доступа к другим классам вне вашего приложения.
  • Сервлет должен ответить в течение 30 секунд или выдается com.google.apphosting.api.DeadlineExceededException.
  • См. здесь для классов Java, занесенных в белый список.

Обязательно прочтите также Песочницу , чтобы увидеть примеры того, что будет и не будет работать.

1 голос
/ 23 января 2012

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

Я бы высоко рекомендовал быбыстрый веб-поиск по теме.Вы найдете, что тонн ресурсов для этого, включая документацию на самом сайте GAE.

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