Today, Red Hat submitted the final draft of JSR-299[1], which now goes under the moniker CDI (Contexts and Dependency Injection), along with the Reference Implementation and TCK. Check out the spec[1] and Javadoc.
This specification defines a powerful set of complementary services that help improve the structure of application code.
- A well-defined lifecycle for stateful objects bound to lifecycle contexts, where the set of contexts is extensible
- A sophisticated, typesafe dependency injection mechanism, including the ability to select dependencies at either development or deployment time, without verbose configuration
- Support for Java EE modularity and the Java EE component architecture - the modular structure of a Java EE application is taken into account when resolving dependencies between Java EE components
- Integration with the Unified Expression Language (EL), allowing any contextual object to be used directly within a JSF or JSP page
- The ability to decorate injected objects
- The ability to associate interceptors to objects via typesafe interceptor bindings
- An event notification model
- A web conversation context in addition to the three standard web contexts defined by the Java Servlets specification
- An SPI allowing portable extensions to integrate cleanly with the container
I would like to take this opportunity to thank the Expert Group and everyone else who contributed ideas and criticism to this specification. Folks outside the JCP probably can't really imagine the incredible investment of time and emotional energy that it takes to create a spec like this. I would really, really like to single out a couple of individual members of the EG for their great ideas and totally uncompensated work, but I guess there's no way to do that without leaving someone feeling unrecognized.
On a more personal note, I believe (and hope) that we've done right by the community, and created something beautiful.
Tomorrow we'll be releasing Weld 1.0.
Congratulations Gavin and EG! Thanks for all your hard work!
Congrulations to Weld team!
Congratulations to all included! Especially to Gavin for doing a nice balance between technical and political realities. And to Pete for holding together the implementation through a process the equivalent of starting coding on a word processor and finishing with a spreadsheet application ;-)
Congratutation to all members of the team that worked hard on it!
Great news! Congratulations Gavin! Thanks for your hard work and huge improvement to Java EE programming model! I think CDI is one of the better spec Java EE have ever seen in it's whole life!
Big thumbs up for the team who brought us CDI!!!
Congratulations, good news
Congrats!
... which means and ???
I'm kind of lost...
:-)
congrats anyway, Jan
Greats news .. Congrats Gavin and every one behind this .. Keep on with the great job you do ..
Great news! Seam is by far my first choice for Java web development. I'm very glad to see this approach become a standard.
Congratulations and with plenty more in the pipeline, my eyes will remain glued here!
Felicitaciones, congratulations Weld team.
CDI is the name of the spec. Weld is the name of the Reference Implementation (which is the implementation in JBoss and GlassFish).
I would like to thank everybody involved so much (more than Gavin, because he got so many thanks till now :) ). Now I need a Weld in Action book.
I do as well! Congrats!
Felicitaciones!!!
Thanks! hope you guys have energy for Seam 3... :)
Speaking of Seam 3.. I have been digging around the last few days trying to find out the current status of Seam 3. Anyone know how far away it is? Are there any usable builds to get a hold of?
We did quite a lot of work for Seam 3 about 6 months ago, but it hasn't been kept up to date to the current spec. Now that the spec is final, you can expect to see a lot more effort :-)
Look for a blog as soon as there are usable builds!
I've been writing JSR-299 support for IntelliJ Idea(Maia and JSR-299). JSR-299 is one of the best written specifications I've read. Congratulations.
Yes, I've been following your blog. That's great, thanks, tooling support is really important to us, and we always kept it in mind while working on the spec.
Thanks man, that made me happy :-)
Congratulations Gavin, Pete and the other contributors. (J)CDI is an important piece of work and the result is a more complete and productive enterprise Java platform.
Great!! Congrats :)
Gavin, could you help me, please?
I need correct beans.xsd file with description of and others. Where could I find it? weld-servlet.jar?
Serega.
I'm not that convinced it exists (yet). Would be useful, though.
It does exist but its broken in the 1.0.0 release of Weld.
I submitted a patch with the needed elements (I believe), but it doesn't look like they've gotten to it just yet. You can follow it at https://jira.jboss.org/jira/browse/WELD-289