Подтвердить что ты не робот

Развернуть Dropwizard в Google AppEngine

Я пытаюсь найти способ развернуть приложение Dropwizard в Google AppEngine, но я ничего не нашел далеко.

Судя по этому questionanswer), я думаю, что это может быть невозможно. Я хотел бы быть уверен в этом, и, если он действительно работает, я хотел бы узнать, как это сделать.

Существует вилка dropwizard, называемая warwizard, которая, по-видимому, позволяет создавать военные файлы из вашего кода dropwizard, но он не был затронут в течение более 6 месяцев, что, вероятно, затруднит работу с использованием документов dropwizard.

4b9b3361

Ответ 1

Dropwizard - это просто Джерси + Джексон + Джетти, вместе взятые. Jetty и App Engine не будут ладить (то есть App Engine уже запускает Jetty, поэтому он не хочет, чтобы приложение предоставляло свои самостоятельно).

Вам, вероятно, лучше всего использовать Джерси и Джексона без Dropwizard, связывая их вместе: http://blog.iparissa.com/googles-app-engine-java/google-app-engine-jax-rs-jersey/ и http://www.cowtowncoder.com/blog/archives/2009/11/entry_338.html

Ответ 2

Однако вы можете запустить Dropwizard в Google Compute Engine. В основном это виртуальные виртуальные машины, предоставляемые Google, при необходимости доступ к их API.

Мне удалось заставить мой экземпляр Dropwizard работать, выполнив следующее на GCE:

Установить Java

sudo apt-get install java7-runtime-headless 

Откройте порты брандмауэра:

gcutil addfirewall rest --description="http" --allowed="tcp:8080
gcutil addfirewall admin --description="admin" --allowed="tcp:8081"

Скопировать файл в GCE

gcutil --project={project-id} push {instance-name} {local-file} {remote-target-path}

Запустите приложение

java -jar your-app.jar server your-config.yml

EDIT: есть еще одна альтернатива wiztowar https://github.com/twilio/wiztowar, которая поддерживает только DW 0.6.2.

Ответ 3

Я пытался решить эту проблему в течение последних двух месяцев. Вот мои выводы:

1- Да, вы можете развернуть Dropwizard в качестве файла WAR. Вам нужно использовать некоторые хаки, например Мастер в ящике или WizToWar

2- Нет! Вы не можете развернуть этот файл WAR в стандартной среде AppEngine.

Почему? Основная проблема заключается в том, что AppEngine использует servlet-api v2.5 (которому больше 10 лет!) И не планирует обновляться до сервлета-api v3 или выше. Dropwizard, с другой стороны, требует servlet-api v3 или выше.

НО ЖД! есть еще один вариант

Вы можете развернуть Dropwizard на Гибкая среда App Engine

App Engine Flex все еще находится в стадии бета-тестирования, но я слышал, что он будет доступен для публичного использования в первом квартале 2017 года. Если вы хотите использовать его сейчас, вы должны попросить, чтобы это было включено для вас.

Как вы развертываете Flex для App Engine?

- > Я сделал все шаги для этого в блоге: Развертывание Dropwizard на Flex App Engine