Yep, the spec states:

'In a Java EE implementation, a Managed Bean may use any of the resource injection functionality laid out in Chapter 5 of the Java EE Platform specification, “Resources, Naming and Injection“.'

Hmm, but the trouble is, where does that leave Tomcat and Jetty? And if the resource like the persistence context or UT is to be injected, who is doing the injecting? Of course, if EJB lite were present, it could handle it.

So basically, what I'm getting at is that perhaps CDI can provide this transaction and persistence support (maybe even the resource injection) when the Java EE environment is not present (meaning EJB lite is also absent).

Of course, we can prototype this as a portable extension today. I'm certainly not opposed to that. But I would hope if we did, the long term goal would be to somehow provide this in Java EE lite.

I understand this argument is circular, because eventually you arrive back at the question "why not just make them use Java EE?" The idea is to attract developers to Java EE by giving them one more stepping stone.

-Dan

--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597

http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen