Java EE 8 движется, и несколько новых компонентов JSR были поданы. JSR 365 определит спецификацию для CDI 2.0. Red Hat уже начала работу над прототипом реализации в Weld 3, и Alpha3 была выпущена недавно .
Сервер приложений, совместимый с Java EE 8 от Red Hat, будет WildFly, где будут реализованы все различные технологии. В то же время, как вы пробуете эти ранние экспериментальные релизы?
Технический совет № 29 показал, как установить патч WildFly 8.x из предыдущего выпуска. Этот совет будет использовать этот механизм для установки Weld 3 Alpha3 в WildFly 8.2. Вы также можете загрузить Weld 3 Alpha3 Standalone или Weld 3 Alpha3 в качестве патча для WildFly 9.0 Alpha1 .
Инструкции довольно просты:
- Скачайте и распакуйте WildFly 8.2 :
12
http://download.jboss.org/wildfly/8.2.0.Final/wildfly-8.2.0.Final.zipunzip wildfly-8.2.0.Final.zip - Скачать патч Weld 3 Alpha3 для WildFly 8.2 :
1
curl -L -o weld3-alpha3-patch-wildfly8.2.zip http://sourceforge.net/projects/jboss/files/Weld/3.0.0.Alpha3/wildfly-8.2.0.Final-weld-3.0.0.Alpha3-patch.zip/download - Примените патч как (также доступный в README, включенном в патч):
12345
./wildfly-8.2.0.Final/bin/jboss-cli.sh --command="patch apply ./weld3-alpha3-patch-wildfly8.2.zip"{"outcome":"success","result": {}} - Запустите WildFly:
1
./wildfly-8.2.0.Final/bin/standalone.sh - Запустите простой тест CDI из javaee7-samples :
1
mvn -f cdi/nobeans-xml/pom.xml test -Dwildfly-remote-arquillianи увидеть вывод в консоли WildFly как:
010203040506070809101112131420:53:30,434INFO [org.jboss.as.repository] (management-handler-thread -1) JBAS014900: Content added at location /Users/arungupta/tools/weld3/wildfly-8.2.0.Final/standalone/data/content/4c/c6675b4f1fb33fe40dda3f94ac4979b3e2a4d0/content20:53:30,453INFO [org.jboss.as.server.deployment] (MSC service thread1-4) JBAS015876: Starting deployment of"test.war"(runtime-name:"test.war")20:53:30,878INFO [org.jboss.weld.deployer] (MSC service thread1-5) JBAS016002: Processing weld deployment test.war20:53:30,953INFO [org.hibernate.validator.internal.util.Version] (MSC service thread1-5) HV000001: Hibernate Validator5.1.3.Final20:53:31,131INFO [org.jboss.weld.deployer] (MSC service thread1-5) JBAS016005: Starting ServicesforCDI deployment: test.war20:53:31,163INFO [org.jboss.weld.Version] (MSC service thread1-5) WELD-000900:3.0.0(Alpha3)20:53:31,195INFO [org.jboss.weld.deployer] (MSC service thread1-9) JBAS016008: Starting weld servicefordeployment test.war20:53:32,141INFO [org.wildfly.extension.undertow] (MSC service thread1-15) JBAS017534: Registered web context: /test20:53:32,178INFO [org.jboss.as.server] (management-handler-thread -1) JBAS018559: Deployed"test.war"(runtime-name :"test.war")20:53:33,454INFO [org.wildfly.extension.undertow] (MSC service thread1-6) JBAS017535: Unregistered web context: /test20:53:33,464INFO [org.jboss.weld.deployer] (MSC service thread1-16) JBAS016009: Stopping weld servicefordeployment test.war20:53:33,490INFO [org.jboss.as.server.deployment] (MSC service thread1-12) JBAS015877: Stopped deployment test.war (runtime-name: test.war) in 40ms20:53:33,497INFO [org.jboss.as.repository] (management-handler-thread -1) JBAS014901: Content removed from location /Users/arungupta/tools/weld3/wildfly-8.2.0.Final/standalone/data/content/4c/c6675b4f1fb33fe40dda3f94ac4979b3e2a4d0/content20:53:33,498INFO [org.jboss.as.server] (management-handler-thread -1) JBAS018558: Undeployed"test.war"(runtime-name:"test.war")Обратите внимание, что версия Weld «3.0.0 (Alpha 3)» отображается соответствующим образом в журналах.
С точки зрения возможностей, вот что доступно на данный момент:
- Декларативное упорядочение методов-наблюдателей с использованием
@Priority - Возможность расширения вето и изменения метода наблюдателя
- Поддержка повторяющихся аннотаций Java 8 в качестве квалификаторов и привязок перехватчиков
- Улучшенный API
AnnotatedType - Асинхронные события
- Упрощенная настройка свойств, специфичных для сварки
- Гуава больше не используется внутри
Более подробная информация, включая примеры кода, объясняется в Выпуске Weld 3.0.0 Alpha1 и обновлении Weld 3 . Весь прототип API находится в пакете org.jboss.weld.experimental , что указывает на раннюю природу.
Вот некоторые ресурсы для вас:
- Javadocs
- Maven координаты
12345
<dependency><groupid>org.jboss.weld</groupid><artifactid>weld-api</artifactid><version>3.0.Alpha3</version></dependency> - Обратная связь на форумах Weld или в списке рассылки cdi-dev .
Создан репозиторий образцов Java EE 8 и начнется добавление туда некоторых образцов CDI 2.0, следите за обновлениями.
Наслаждайтесь!
| Ссылка: | Патч Weld 3 в WildFly 8.2 — Первый экспериментальный RI Java EE 8 от нашего партнера по JCG Аруна Гупта из Miles to go 2.0… блог. |