Развернуть Dropwizard в Google AppEngine
Я пытаюсь найти способ развернуть приложение Dropwizard в Google AppEngine, но я ничего не нашел далеко.
Судя по этому question (и answer), я думаю, что это может быть невозможно.
Я хотел бы быть уверен в этом, и, если он действительно работает, я хотел бы узнать, как это сделать.
Существует вилка dropwizard, называемая warwizard, которая, по-видимому, позволяет создавать военные файлы из вашего кода dropwizard, но он не был затронут в течение более 6 месяцев, что, вероятно, затруднит работу с использованием документов dropwizard.
Ответы
Ответ 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