UPDATE: The artifacts are now published to the Maven Central Repository (apologies, I forgot to hit the
promotebutton).
I'm pleased to say that we have completed the 1.0.1 release of Weld, the reference implementation of JSR-299: Contexts and Dependency Injection for Java EE. It's based on the CDI 1.0 API. So go get it!. You can find direct download links at the bottom of this post or you can pull the artifacts from the Maven Central Repository.
With that out of the way, let's look at what's new and noteworthy in this release.
Release notes
In this release we've focused on bug fixing, as well as scalability improvements. Extensive profiling of memory usage has resulted in some good improvements (more to come), and we've added clustering tests to the project for JBoss AS 6.
Thanks go to the whole Weld team!
Google App Engine
If you're a fan of Google App Engine (GAE), or just looking to experiment with it (using CDI, of course!), we have really exciting news for you! Weld now has basic support for running on Google's scalable infrastructure. And just to prove it to you, we gave the Weld numberguess example its own appspot, where it's currently running the latest version of Weld.
If you want to get your own CDI + JSF 2 application running on Google App Engine, Shane Bryzak has done a fantastic job of showing you how to navigate the minefield to arrive at a successful GAE deployment. He takes you through App Engine signup, installation of the App Engine SDK plugin in Eclipse, the required CDI and JSF configurations and libraries and, finally, deployment.
Weld SE
Weld 1.0.1 brings improvements to the Java SE support, most notably allowing programmatic instantiation of the container (i.e., new Weld()). I'll let the following code do the talking:
Weld weld = new Weld().initialize(); weld.instance().select(Foo.class).get(); weld.event().select(Bar.class).fire(new Bar()); weld.shutdown();
CDI TCK
The CDI TCK (1.0.1) is also available, and includes quite a few fixes to the tests which both the GlassFish and the OpenWebBeans teams reported. Thanks to both groups for their work on this!
What's around the corner?
In the 1.0.2 release you can expect more work on memory usage, performance profiling as well as bug fixes. We'll also be working on improving support for Jetty and Tomcat. You can expect to see 1.0.2 in around 3 months time.
However our main focus is now on developing Seam 3, a collection of portable extensions for CDI and Java EE 6!
JBoss AS 6 Milestone 2
It's important for you to know that this version of Weld is not in JBoss AS 6 Milestone 2. To use Weld 1.0.1 with JBoss AS, you can update JBoss AS 6 M2:
JBOSS_HOME=/path/to/jboss-as-6 mvn -f jboss-as/pom.xml
About Weld
Weld is used in GlassFish V3 and the JBoss AS 6 series. Weld also has support for Servlet containers such as Tomcat and Jetty. While JSF support is built in, you also have the option to use Wicket as your view layer or even Swing and JavaFX through the Java SE support. If you are an OSGi fan, there's a bundle for that too.
If you are just getting started, there are a few examples in the distribution to guide you (look for instructions in the reference guide, and each example has a readme.txt). If you are looking for help, try our user forums, or perhaps join us on IRC.
[ Distribution (Weld, CDI TCK) ] | [ Release Notes (Weld 1.0.1-Final, CDI TCK 1.0.1-Final) ] | [ Reference Guide (Weld, CDI TCK ] | [ Issue Tracker ] | [ CDI Javadoc ]
Great News!
Can't wait to see some modules start to come alive for Seam 3
Fantastic :-) Thanks for all the hard work on this!
Hi! I tried to look at the GAE numberguess example but got an http 500...
Post AS version and server log on the forum
mvn -U helping? Otherwise, post on the forum
Google App Engine appears to have been totally down yesterday (I couldn't get to the admin console either). Now, it's all back up :-)
Awesome news. Weld rocks! The Spec and Doc are both very well written.
I only wish there was a wiki or something similar discussing the best practices when using weld / cdi.
Maybe there is, and I just havent found it?