WildFly Swarm предоставляет простое решение для развертывания приложений Java EE в виде отдельного файла Jar. Это позволяет очень легко развертывать приложения, особенно REST или веб-сервисы. В этом отношении Swarm очень похож на Spring Boot в том смысле, что он позволяет быстро разрабатывать веб-приложения (.War) и затем развертывать их как автономные приложения без необходимости развертывания сервера приложений.
Документация WildFly Swarm описывает себя как:
Swarm предлагает инновационный подход к упаковке и запуску приложений Java EE, упаковывая их с помощью платформы, достаточной для «java -jar» вашего приложения.
Развертывание приложения Java EE как приложения Swarm довольно просто:
- Добавьте зависимости от аспектов WildFly Swarm, которые вы будете использовать, в файл
pom.xml
вашего проекта, например, JAX-RS или JPA. - Добавьте плагин WildFly Swarm в файл
pom.xml
вашего проекта, чтобы можно было создать исполняемый файл Jar. - Расслабьтесь, расслабьтесь и запустите ваше приложение как отдельный исполняемый файл Jar!
Чтобы продемонстрировать, насколько это легко, я создал очень простой веб-сервис JAX-RS, который возвращает список фруктов — очень похожий на фабрику Angular.js, которую я создал несколько лет назад.
Код для этого примера приложения доступен на GitHub
Чтобы создать веб-сервис JAX-RS и запустить его как приложение WlidFly Swarm, нам просто нужно добавить wildfly-swarm-jaxrs
. Все зависимости, которые можно использовать с WildFly Swarm, описаны в Руководстве пользователя.
01
02
03
04
05
06
07
08
09
10
11
12
13
|
< properties > < swarm.version >1.0.0.Alpha5</ swarm.version > </ properties > < dependencies > ... < dependency > < groupId >org.wildfly.swarm</ groupId > < artifactId >wildfly-swarm-jaxrs</ artifactId > < version >${swarm.version}</ version > </ dependency > ... </ dependencies > |
Добавление плагина WildFly Swarm в ваш pom.xml
для создания исполняемого файла Jar одинаково просто.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
< plugins > ... < plugin > < groupId >org.wildfly.swarm</ groupId > < artifactId >wildfly-swarm-plugin</ artifactId > < executions > < execution > < goals > < goal >package</ goal > </ goals > </ execution > </ executions > </ plugin > ... </ plugins > |
Все, что вам нужно сделать сейчас, это выполнить mvn package
чтобы создать исполняемый файл Jar, который вы можете запустить, выполнив java -jar myJar.jar
При создании и запуске приложения Swarm важно отметить, что URL-адрес приложения будет отличаться от того, который выполняется на автономном сервере приложений.
Когда приложение развертывается на сервере приложений, в контекстный путь обычно входит имя развернутого приложения, например:
1
|
http: //localhost :8080 /swarm-rs-1 .0-SNAPSHOT /api/fruit |
Когда это развертывается как приложение Swarm, путь к контексту не требуется (работает только одно приложение Java EE), поэтому URL будет выглядеть примерно так:
1
|
http: //localhost :8080 /api/fruit |
Ссылка: | WildFly Swarm — Развертывание приложений Java EE в виде автономных файлов от нашего партнера по JCG Дэвида Солтера в блоге Дэвида Солтера в блоге. |