Help

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.

30 comments:
 
11. Nov 2009, 14:08 CET | Link
Jeremy Norris | jnorris(AT)pattern73.com

Congratulations Gavin and EG! Thanks for all your hard work!

 
11. Nov 2009, 14:08 CET | Link

Congrulations to Weld team!

 
11. Nov 2009, 14:14 CET | Link
Nik

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 ;-)

 
11. Nov 2009, 14:20 CET | Link
Julien

Congratutation to all members of the team that worked hard on it!

 
11. Nov 2009, 14:28 CET | Link

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!

 
11. Nov 2009, 15:17 CET | Link

Big thumbs up for the team who brought us CDI!!!

 
11. Nov 2009, 16:46 CET | Link
Palko

Congratulations, good news

 
11. Nov 2009, 16:53 CET | Link
Tomaz Cerar | cerar(AT)parsek.net

Congrats!

 
11. Nov 2009, 18:12 CET | Link
Jan Groth

... which means goodbye 'Weld' and hello 'Contexts and Dependency Injection' ???

I'm kind of lost...

:-)

congrats anyway, Jan

 
11. Nov 2009, 18:51 CET | Link
Dirar

Greats news .. Congrats Gavin and every one behind this .. Keep on with the great job you do ..

 
11. Nov 2009, 20:05 CET | Link

Great news! Seam is by far my first choice for Java web development. I'm very glad to see this approach become a standard.

 
11. Nov 2009, 21:22 CET | Link
Drew Arrigoni

Congratulations and with plenty more in the pipeline, my eyes will remain glued here!

 
11. Nov 2009, 21:26 CET | Link
Congratz Gavin and everyone involved! Good job.
 
11. Nov 2009, 22:10 CET | Link
Hernan Moreno

Felicitaciones, congratulations Weld team.

 
11. Nov 2009, 23:49 CET | Link
... which means goodbye 'Weld' and hello 'Contexts and Dependency Injection' ???

CDI is the name of the spec. Weld is the name of the Reference Implementation (which is the implementation in JBoss and GlassFish).

 
12. Nov 2009, 02:18 CET | Link
Conguratulations, Many thanks to all contributors
 
12. Nov 2009, 08:14 CET | Link
Thai Dang Vu

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.

 
12. Nov 2009, 09:29 CET | Link
I believe ... that we've done right by the community, and created something beautiful.

I do as well! Congrats!

 
12. Nov 2009, 10:02 CET | Link
Diana Gomez

Felicitaciones!!!

 
12. Nov 2009, 14:03 CET | Link
gilad bar orion

Thanks! hope you guys have energy for Seam 3... :)

 
12. Nov 2009, 16:05 CET | Link
Anders

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?

 
12. Nov 2009, 21:14 CET | Link

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!

 
12. Nov 2009, 22:58 CET | Link
Serega Vasiliev

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.

 
13. Nov 2009, 02:07 CET | Link
I've been writing JSR-299 support for IntelliJ Idea(Maia and JSR-299).

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.

JSR-299 is one of the best written specifications I've read. Congratulations.

Thanks man, that made me happy :-)

 
13. Nov 2009, 03:28 CET | Link

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.

 
13. Nov 2009, 09:35 CET | Link
Sachin Parnami | sachin.mobite(AT)gmail.com

Great!! Congrats :)

 
18. Nov 2009, 18:28 CET | Link
Serega Vasiliev

Gavin, could you help me, please?

I need correct beans.xsd file with description of alternatives and others. Where could I find it? weld-servlet.jar?

Serega.

 
18. Nov 2009, 19:05 CET | Link

I'm not that convinced it exists (yet). Would be useful, though.

 
18. Nov 2009, 19:48 CET | Link

It does exist but its broken in the 1.0.0 release of Weld.

 
19. Nov 2009, 04:57 CET | Link
Serega Vasiliev wrote on Nov 18, 2009 12:28:
Gavin, could you help me, please? I need correct beans.xsd file with description of alternatives and others. Where could I find it? weld-servlet.jar? Serega.

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

Post Comment
Name:
E-mail address (optional):
Homepage URL (optional):
Subject:
Help
Let me type some plain text, not markup
Enable live preview
Enter characters (ignore circles):