Patching Weld 3 in WildFly 8.2 ā First Experimental RI of Java EE 8
Java EE 8 isĀ moving along andĀ several new component JSRs have been filed. JSR 365Ā will define the specification for CDI 2.0. Red Hat has already started working on the implementation prototype in Weld 3 and Alpha3Ā was released recently.
The Java EE 8 compliant application server from Red Hat will be WildFly where all the different technologies will be implemented.Ā In the meanwhile, how do you try out these early experimental releases?
Tech Tip #29Ā showedĀ how to patch WildFly 8.x from a previous release. This tip will leverage that mechanismĀ to install Weld 3 Alpha3 in WildFly 8.2. You can also download Weld 3 Alpha3 StandaloneĀ or Weld 3 Alpha3 as patch to WildFly 9.0 Alpha1.
The instructions are rather simple:
- Download and unzipĀ WildFly 8.2:
http://download.jboss.org/wildfly/8.2.0.Final/wildfly-8.2.0.Final.zip unzip wildfly-8.2.0.Final.zip
- Download Weld 3 Alpha3 Patch for WildFly 8.2:
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
- Apply the patch as (also available in README bundled in the patch):
./wildfly-8.2.0.Final/bin/jboss-cli.sh --command="patch apply ./weld3-alpha3-patch-wildfly8.2.zip" { "outcome" : "success", "result" : {} } - Start WildFly:
./wildfly-8.2.0.Final/bin/standalone.sh
- Run a simple CDI test from javaee7-samples:
mvn -f cdi/nobeans-xml/pom.xml test -Dwildfly-remote-arquillian
and see output in the WildFly console as:
20: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")
Note that the Weld version of ā3.0.0 (Alpha 3)ā is shown appropriately in the logs.
In terms of features, here is what is available so far:
- Declarative ordering of observer methods using
@Priority - Ability for an extension to veto and modify an observer method
- Support for Java 8 repeatable annotations as qualifiers and interceptor bindings
- Enhanced
AnnotatedTypeAPI - Asynchronous events
- Simplified configuration of Weld-specific properties
- Guava is no longer used internally
More details, including code samples, are explained in Weld 3.0.0 Alpha1 Released and An update on Weld 3. All the prototyped API is in org.jboss.weld.experimental package indicating the early nature.
Here are some resources for you to look at:
- Javadocs
- Maven coordinates
org.jboss.weld weld-api 3.0.Alpha3 - FeedbackĀ atĀ Weld forums or the cdi-dev mailing list.
Created Java EE 8 Samples repository and will start adding some CDI 2.0 samples there, stay tuned.
Enjoy!
| Reference: | Patching Weld 3 in WildFly 8.2 ā First Experimental RI of Java EE 8 from our JCG partner Arun Gupta at the Miles to go 2.0 ⦠blog. |




