I am leading the CDI 1.1 specification, and work on JBoss Developer Framework, a set of tutorials and examples for all JBoss users. Previously, I've worked on Infinispan and I led the Seam and Weld projects, and am a founder of the Arquillian project. I've worked on a number of specifications including JSF 2.0, AtInject and Java EE 7. I am a regular speaker at JUGs and conferences such as JavaOne, Devoxx, JAX, JavaBlend, JSFDays, JBoss World, Red Hat Developer Day and JUDCon. I am currently employed by Red Hat Inc. working on JBoss open source projects. Before working for Red Hat, I used and contributed to Seam whilst working at a UK based staffing agency as IT Development Manager.
First up, Dan, Gavin and I are talking about Seam and Contexts and Dependency Injection for Java EE:
- The Best Kept Secrets of Seam, Richfaces JSF, and Facelets with Dan
- Introduction to Web Beans, the Reference Implementation of JSR-299 with Gavin and I
- BOF with Dan, Gavin, Max, Emmanuel, myself, and others
Then, there's a
Seam in the wild talk:
See you there!
A couple of weeks ago I presented on JSR-299: Contexts and Dependency Injection for Java EE at the Munich JBug. Thanks to everyone who attended - we had some great questions and discussions at the end, and over the pizza and beer!
Here are the slides
Next up for me is JBoss World in Chicago. We have a few Seam sessions:
- Gavin and I are presenting JSR-299: Contexts and Dependency Injection
- Dan is presenting The Best Kept Secrets of Seam, JSF, and Facelets
- In Birds of a Feather: Seam and JSR-299 we'll discuss the roadmap for Seam 3
UPDATE: The files are now back on SourceForge, but the links take you to the general JBoss page - search for Seam or Web Beans.
This is a known issue and should be fixed tomorrow.
Unfortunately a hiccup with SourceForge has meant that Seam and Web Beans downloads are currently unavailable - please bear with us while we sort it out.
In the meantime, I've put the latest releases of Seam and Web Beans up on another server:
- Web Beans 1.0.0.PREVIEW1
- Seam 2.1.2.GA (watch this space)
- Seam 2.2.0.CR1 (watch this space)
The Seam team is happy to report that Seam 2.2.0.CR1 is now out. This release gives us a chance to upgrade Seam to the latest versions of a few libraries that are core to Seam. These changes were big enough to warrant bumping minor version numbers.
The largest is a bump to the entire Hibernate family of APIs - core 3.3.1, tools 3.2.4, entitymanager 3.4.0, annotations 3.4.0 and search 3.1.1. We've also moved our Drools support from Drools 4 to Drools 5. If the great new features of Drools 5 weren't enough, we've added a few new features to the drools integration: decision table support, Seam components as consequence exception handlers and Seam components as Drools event listeners.
Finally, we've put in some serious work towards making Seam work better for applications that deploy over multiple WAR files. If that's something you've been having issues with, we definitely recommend that you give Seam 2.2 a try.
Last week I recorded a couple of podcasts. The first one, with Nitin from DZone, gives a good overview of where we are going with Web Beans and Seam 3 - we talk about what JCDI is, how it fits into Seam 3, and the migration path.
A couple of days later, I talked to Ken from Chariot Tech Cast; we got into a lot of depth on JCDI and did an extensive tour of it's features - a good companion to the JCDI webinar I'm recording later today!
I'm pleased to announce the release of Web Beans (the reference implementation of JSR-299) 1.0.0.PREVIEW. This is our first feature complete milestone of the Java Contexts and Dependency Injection specification!JSR-299 specifies 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.
New in this release is support for servlet containers (no EJB) such as Tomcat or Jetty, support for Apache Wicket as a view layer and support for using Web Beans with Java SE. This release is also bundled in the upcoming JBoss AS 5.1.0.CR1 release, and GlassFish V3 build 46 (no EJB support), so you can just download the examples and deploy them!
The release also includes six examples: for JSF there is a full EE example, with enterprise beans, a war example with simple beans and the login example from the reference docs; there is also a clone of the war example for Wicket, Tomcat and servlet containers. 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: Clint Popetz (Wicket support), David Allen (logging), Ales Justin (JBoss integration), Takeshi Kondo (bug reports), Pete Royle (Java SE support), Andrew Lee Rubinger (EJB integration), João Paulo Viragine (Portugese translation), Sean Wu (Simplified Chinese translation) and Sanjeeb Sahoo (OSGi support).
In detail, this release adds support for:
- Servlet containers such as Tomcat or Jetty
- Java SE
- Apache Wicket
- disposal methods
- Child activities
- Injection of Java EE resources via beans.xml aliasing
- OSGi support
- An injectable logger
- The ability to gracefully disable services depending on envrionment
and, previously released in BETA1, provides support for:
- simple beans
- enterprise beans
- typesafe and name based resolution
- producer methods
- producer fields
- the dependent context
- support for JBoss 5
- the servlet contexts: application, session and request
- Conversations, including propagation in JSF
- field and constructor injection
- @Initializer methods
- dynamic lookup through @Obtains
- Event support (firing and observing events)
- definition of observer methods through annotations
- injection of event producers
- conditional events
- Transactional observers
- Asynchronous Observers
- 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
We'll be moving fast over the next few weeks to deliver another preview (including a Seam bridge and a Spring bridge). Watch this space! If you are interested in learning more about JSR-299 / Web Beans, keep 11am (Pacific) on the 30th April free - I'm doing a webinar that will take you through the basics of JSR-299 and allow you to ask some questions.
As many of you will have noticed, recently we (the Seam team) have been putting our energy into other efforts than Seam 2. I've been working on Web Beans (the reference implementation of JSR-299). Shane has been working on the JSR-299 TCK (to test all implementations of JSR-299 for compatibility with the spec). Dan and I have spent a lot of time pushing some of the JSF improvements from Seam into JSF 2 (the proposed final draft should be up any day now!).
But we've still found some time to work on Seam 2. We've closed over 110 issues since 2.1.1, so it's definitely time for a new release. We plan to release Seam 2.1.2.CR1 the week starting 13th April, and 2.1.2 the week starting 27th April. The focus of this release is bug fixing.
Those of you who work with jBPM and Drools will be pleased to know that we will fully support jBPM 4 and Drools 5 in the 2.2 series. As we want to get 2.2.0 out before the jBPM 4.0.0 release, we're going to make the jBPM integration pluggable, so that you can simply drop the jBPM 3 integration in favour of jBPM4, when it is released. We plan to release 2.2.0 in mid June.
At the same time, we'll be pushing ahead with Seam 3, so expect an alpha in the next few months. And never fear, we will provide a migration path from Seam 2, to Seam 3 :-)