You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.
Weld is the reference implementation (RI) for JSR-299: Java Contexts and Dependency Injection for the Java EE platform (CDI). CDI is the Java standard for dependency injection and contextual lifecycle management, led by Gavin King for Red Hat, Inc. and is a Java Community Process (JCP) specification that integrates cleanly with the Java EE platform. Any Java EE 6-compliant application server provides support for JSR-299 (even the web profile).
Weld and the JSR-299 TCK (Technology Compatibility Kit) are developed here at seamframework.org. Both are licensed under the Apache License, Version 2.0.
Using Weld |
Supported platformsWeld has been tested on the following platforms: |
BookThe latest book on Weld is now available: |
For Java EE 6 Application Servers: |
<dependency> <groupId>javax.enterprise</groupId> <artifactId>cdi-api</artifactId> <version>1.0-SP4</version> <scope>provided</scope> </dependency> |
or Java EE 5 Application Servers: |
<dependency> <groupId>org.jboss.weld.servlet</groupId> <artifactId>weld-servlet</artifactId> <version>1.1.10.Final</version> </dependency> |
For Java SE applications: |
<dependency> <groupId>org.jboss.weld.se</groupId> <artifactId>weld-se</artifactId> <version>1.1.10.Final</version> </dependency> |
In short:
The two technologies share a common goal of providing a unified, contextual, programming model for Java Web Applications. Both provide integration of EJB and JSF.
However, Seam 3 is a superset of JSR-299. Think of JSR-299 as the core of Seam 3 - it's the basic programming model for your application components, and for the built-in components that make up the Seam framework. Weld is our implementation of this programming model. Based on this programming model, Seam provides a full framework for application development, including integration with various non-standard open source technologies. JSR-299 defines a very powerful framework for portable extensions. Seam 3 is implemented as a set of portable extensions, or modules, for JSR-299, that run in any environment which supports JSR-299 (including any Java EE 6 environment).
The following diagram illustrates the relationship between Seam 2, Seam 3 and JSR-299 (implemented by Weld):
Seam will continue to be the vehicle which delivers BPM integration, Seam Security, Drools integration, RESTeasy integration, PDF and email templates, Excel generation, etc. You can think of Seam as the goodies
. Seam will also contain improvements for technologies in Java EE such as JSF fixes (yes, still) or Seam-managed persistence.
Keep in mind that CDI is the specification, of which Weld is a full implementation.
The schedule for upcoming releases
Bug-fixing releases delivered as necessary.
Version | Release date | Focus |
---|---|---|
2.0.0.Alpha1 | 2011-01-19 |
|
2.0.0.Alpha2 | End of March 2012 | |
2.0.0.Alpha3 | TBD |
|
2.0.0.Beta1 | 3.12.2012 |
|
2.0.0.Final | Early 2013 |
|
Weld is bundled in JBoss AS and GlassFish, as well as being available standalone, so working out where to report a bug, and when you'll get access to the fix can be complex. Let's start by looking at where to report a bug.
If you are using CDI in JBoss AS or GlassFish, and aren't sure if the bug is a JBoss AS/GlassFish bug or a Weld bug, then you should report the issue in either the JBoss AS issue tracker or the GlassFish issue tracker. The JBoss AS developers or the GlassFish developers will triage the issue, and either move the issue to the upstream (WELD) issue tracker, or ask you to report the issue there as well. If you know the issue is with WELD, you can report it there as well (it's important you always report it in the server issue tracker).
If it is determined that the issue is upstream in Weld, then the Weld development team will assess the issue and determine it's priority, and assign it to either a version in which it will be fixed or TBC if it is decided to leave it open for now. Having fixed the issue, the Weld team must then release the version (which can take a few weeks after fixing the issue). It is then up to the JBoss AS and GlassFish teams to integrate the version into their app server (normally this happens within days), and finally, release a new version of the app server. Because there are two releases which must take place for fix to make it into a released version of the app server, this can take quite some time.
We are always looking for community contributors to help with Weld development. Please check out the information on the Weld Development Page if you'd like to know more.
Name | Organization | Role | Hometown (Time zone) |
---|---|---|---|
Pete Muir | JBoss, by Red Hat | Founder | Edinburgh, UK (UTC) |
Aleš Justin | JBoss, by Red Hat | Team Member | Vrhnika, Slovenia (UTC+01) |
Marius Bogoevici | JBoss, by Red Hat | Contributor | Toronto, Canada (UTC-05) |
David Allen | - | Contributor | Germnay (UTC+01) |
Nicklas Karlsson | - | Contributor | Finland (UTC+02) |
Dan Allen | JBoss, by Red Hat | Contributor | Laurel, MD, USA (UTC-05) |
Roger Kitain | Oracle Corp | Contributor | - |
Stuart Douglas | JBoss, by Red Hat | Contributor | Sydney, Australia (UTC+10) |
Shane Bryzak | JBoss, by Red Hat | Contributor | Brisbane, Australia (UTC+10) |
Aslak Knutsen | JBoss, by Red Hat | Contributor | Oslo, Norway (UTC+01) |
Kabir Khan | JBoss, by Red Hat | Contributor | London, UK (UTC) |
Pete Royle | - | Contributor | Australia |
Ondrej Skutka | JBoss, by Red Hat | Contributor | Brno, Czech Republic (UTC+02) |
Jozef Hartinger | JBoss, by Red Hat | Project Lead | Brno, Czech Republic (UTC+02) |
Martin Gencur | JBoss, by Red Hat | Contributor | Brno, Czech Republic (UTC+02) |
Karel Piwko | JBoss, by Red Hat | Contributor | Brno, Czech Republic (UTC+02) |
Peter Lenyi | JBoss, by Red Hat | Contributor | Brno, Czech Republic (UTC+02) |
Marko Lukša | JBoss, by Red Hat | Team Member | Ljubljana, Slovenia (UTC+01) |