I recognize this is an edge case, but I can see value in having @EJB injection capability when using Weld Servlet in a pre-Java EE 6 container. You could go about it at least two ways:<div><br></div><div>1. provide a portable extension that satisfies the @EJB annotation on a managed bean field</div>
<div>2. implement Weld&#39;s EjbServices</div><div><br></div><div>#1 would be a great demo of a portable extension, but the shortcoming is that it&#39;s only a connector between a managed bean and an EJB. You would have to do quite a lot of work to give the EJB CDI services.</div>
<div><br></div><div>#2 would be pretty easy since you could off-load all the work of #1 back to Weld. The problem is that the Weld Listener doesn&#39;t provide any hooks (that I can see) to register services before it starts the Weld container. I was imagining something like a service-provider approach so you can shove the EjbServices implementation (+ family) into the deployment classpath. Can we add that feature?</div>
<div><br></div><div>We&#39;re really just a small step away from giving people access to CDI in pre-Java EE 6 containers. And there are a lot of people on those containers and will be for quite some time.</div><div><div><br>
</div><div>-Dan<br clear="all"><br>-- <br>Dan Allen<br>Principal Software Engineer, Red Hat | Author of Seam in Action<br>Registered Linux User #231597<br><br><a href="http://mojavelinux.com" target="_blank">http://mojavelinux.com</a><br>
<a href="http://mojavelinux.com/seaminaction" target="_blank">http://mojavelinux.com/seaminaction</a><br><a href="http://www.google.com/profiles/dan.j.allen" target="_blank">http://www.google.com/profiles/dan.j.allen</a><br>

</div></div>