Dan,
I think the idea of using EJB "aspects" outside the component model is
something Java EE will accommodate soon anyway. The solution for now
should probably be implementing embeddable containers that way right
now. In our case, we still use @TransactionAttribute, but maybe you guys
could use @Transactional or something similar...
Cheers,
Reza
Dan Allen wrote:
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