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.zip
unzip 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
,
434
INFO [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/content
20
:
53
:
30
,
453
INFO [org.jboss.as.server.deployment] (MSC service thread
1
-
4
) JBAS015876: Starting deployment of
"test.war"
(runtime-name:
"test.war"
)
20
:
53
:
30
,
878
INFO [org.jboss.weld.deployer] (MSC service thread
1
-
5
) JBAS016002: Processing weld deployment test.war
20
:
53
:
30
,
953
INFO [org.hibernate.validator.internal.util.Version] (MSC service thread
1
-
5
) HV000001: Hibernate Validator
5.1
.
3
.Final
20
:
53
:
31
,
131
INFO [org.jboss.weld.deployer] (MSC service thread
1
-
5
) JBAS016005: Starting Services
for
CDI deployment: test.war
20
:
53
:
31
,
163
INFO [org.jboss.weld.Version] (MSC service thread
1
-
5
) WELD-
000900
:
3.0
.
0
(Alpha3)
20
:
53
:
31
,
195
INFO [org.jboss.weld.deployer] (MSC service thread
1
-
9
) JBAS016008: Starting weld service
for
deployment test.war
20
:
53
:
32
,
141
INFO [org.wildfly.extension.undertow] (MSC service thread
1
-
15
) JBAS017534: Registered web context: /test
20
:
53
:
32
,
178
INFO [org.jboss.as.server] (management-handler-thread -
1
) JBAS018559: Deployed
"test.war"
(runtime-name :
"test.war"
)
20
:
53
:
33
,
454
INFO [org.wildfly.extension.undertow] (MSC service thread
1
-
6
) JBAS017535: Unregistered web context: /test
20
:
53
:
33
,
464
INFO [org.jboss.weld.deployer] (MSC service thread
1
-
16
) JBAS016009: Stopping weld service
for
deployment test.war
20
:
53
:
33
,
490
INFO [org.jboss.as.server.deployment] (MSC service thread
1
-
12
) JBAS015877: Stopped deployment test.war (runtime-name: test.war) in 40ms
20
:
53
:
33
,
497
INFO [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/content
20
:
53
:
33
,
498
INFO [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… блог. |