[weld-dev] standard servlet context attribute for the BeanManager

Shane Bryzak sbryzak at redhat.com
Tue Mar 23 02:48:37 EDT 2010


Thanks Dan (makes mental note to self to fix this in remoting).

On 23/03/10 05:46, Dan Allen wrote:
> At the last Seam team meeting, the issue came up (once again) of how 
> to get the BeanManager from a non-contextual resource. The reality is 
> that there are certain lifecycle classes in Java EE that did not 
> get categorized as components (e.g., PhaseListener) and therefore do 
> not support injection. They are "outside" of CDI. We are working on an 
> SPI for JSF to make these classes CDI beans, but there will always be 
> other cases.
>
> In the current version of the spec, the standard way of looking up the 
> BeanManager is to use JNDI. However, JNDI is not consistently 
> supported in environments for which we want to write portable 
> extensions (whether we like it or not, people use servlet containers). 
> Weld puts the BeanManager in a servlet context attribute equal to the 
> FQCN of BeanManager. Pete suggested that we submit a change request to 
> have this location standardized when running in a servlet environment.
>
> With this change, the BeanManager can be obtained as follows:
>
> BeanManager manager = (BeanManager) 
> getServletContext().getAttribute(BeanManager.class.getName());
>
> This requires no change in Weld, since Weld is already doing this.
>
> -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
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20100323/dde82b55/attachment.html 


More information about the weld-dev mailing list