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 Дэвида Солтера в блоге Дэвида Солтера в блоге. |