I'm pleased to announce the release of Web Beans 1.0.0.BETA1. This release implements around 90% of the JSR-299, Java Contexts and Dependency Injection specification. The only major feature missing from this release is support for annotating your beans using XML.
New in this release are conversations, transactional observers and asynchronous observers, as well as a German translation of the refernce guide.
JSR-299 specificies a set of services for the Java EE environment that makes applications much easier to develop. JSR-299 layers an enhanced lifecycle and interaction model over existing Java component types including JavaBeans and Enterprise Java Beans.
The release also includes three examples, a full EE example, with enterprise beans, a war example with simple beans and the login example from the reference docs. To learn more about JSR-299 and the Web Beans project, I suggest you read the reference guide or browse seamframework.org.
This release wouldn't have been possible without the work of a number of people. Thanks go to: David Allen (asynchronous and transactional observers), Nicklas Karlsson (conversations), Ales Justin (JBoss integration), Jasna Dimanosk (German Translation).
In detail, this release adds support for:
- Transactional observers
- Asynchronous Observers
- Conversations, including propagation in JSF
- bootstrap improvements
and, previously released in ALPHA2, provides support for:
- support for simple beans
- support for enterprise beans and enterprise bean remove methods
- typesafe and name based resolution
- producer methods
- producer fields
- the dependent context
- support for JBoss 5
- the servlet contexts: application, session and request
- field and constructor injection
- @Initializer methods
- Event support (firing and observing events)
- definition of observer methods through annotations
- injection of event producers
- conditional events
- support for lifecycle callbacks (@PostConstruct and @PostDestroy)
- an SPI to integrate with other containers
- Injection of new instances via @New
- Support for passivating scope
- Updates to metadata inheritance rules
- injection point metadata
- injection via @Resource, @EJB and @PersistenceContext into simple beans
There is also preview support for:
- dynamic lookup through @Obtains
We'll be moving fast over the next few weeks to deliver BETA2 (including a Seam bridge. Watch this space!