Help

Switch Workspace

Built with Seam

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 not only the RI for JSR-299/CDI it also contains a number of extensions; those that are Unportable Extensions (rely on Weld) and those that are Portable Extensions with no external dependencies.

Weld Extensions (Portable Extension led by Pete Muir)

As we gather feedback from the community on CDI, we want to prototype and try out some of the ideas for future improvements to the CDI specification. The Weld Portable Extensions is the place we do it!

XML Configuration (Portable Extension led by Stuart Douglas)

The beans.xml file supports declaration of application level metadata. The file format is typesafe and extensible:

  • Multiple namespaces are accommodated, each representing a Java package.
  • XML elements belonging to these namespaces represent Java types, fields and methods.
  • Each namespace may declare an XML schema.

Read the spec for more!

Weld Archetypes (Portable Extension led by Steven Boscarine)

Maven Archetypes are templates that allow you to get started writing your CDI application much more quickly by creating a barebones, deployable Maven 2 project. Weld project has archetypes for Java EE 6.0 projects targeting Glassfish v3 and JBoss AS 6.0 as well as JSF 2.0 CDI applications targeting servlet containers like Tomcat 6 and Jetty. Future versions will contain archetypes for CDI integrated with Wicket as well as other technologies requested by the community.

For more information, please consult the Getting Started Guide. If you are interested in helping out or seeing the details of the project itself, please take a look at the Project Specification Page.

Wicket (Semi-Portable Extension led by Clint Popetz)

Wicket is a view layer which offers server side rendering of your pages. It offers a clean separation of mark-up/logic, a POJO component model, good AJAX support and powerful Java based configuration. Weld's Wicket integration offers full integration with CDI, allowing CDI-style injection into Wicket components; you can also use all of the standard CDI contexts with in your Wicket components, including conversation scope.

As Seam 3 takes shape, you can expect to integration with other Seam modules such as Seam Security.

Java SE Support (Unportable Extension led by Pete Royle)

A key goal of CDI is to allow better application design by promoting decoupling and increased type-safety; whilst CDI targets enterprise applications, this goal is just as valid for all sorts of applications such as applets and plugins. In the Java SE module, we have taken the relevant parts of the spec:

  • contextual typesafe dependency injection (including support for stereotypes)
  • typesafe events
  • interceptors
  • decorators

and allowed you to use them from Java SE!

If you are a library developer, you're probably very excited by the Portable Extension SPI which allows you to plug into the application's lifecycle, and modify the application's beans via a simple, event based, API. By using CDI in Java SE you can take advantage of this, meaning you don't need to offer different approaches to integrating your library in Java EE or Java SE (for example, take a look at the scheduling extension in Seam).

Servlet support (Unportable Extension led by Pete Muir)

Whilst CDI runs in a Java EE container, sometimes you might want to use a plain Servlet container such as Tomcat or Jetty. Or, you might want to deploy to Google App Engine. In this case, you are going to need an extension to the Weld core, to get it up and running. The Weld Servlet Support is where we develop this support.