Andy Gibson, Rob Williams and I, implemented something like this for CDISource.
It works with Weld, OpenWebBeans and Candi.

We have a BeanContainerManager that uses java.util.ServiceLoader.

see

https://github.com/CDISource/cdisource/blob/master/beancontainer/api/src/main/java/org/cdisource/beancontainer/BeanContainerManager.java

I think in addition to the ability to easily load a BeanManager, we need a simplified interface for dealing with beans. BeanManager is a bit at the SPI level. It needs a Facade to make it easier to use.

Compare the BeanManager to the Spring's Application Context. I think the BeanManager should be more like the Spring Application Context.

for some ideas see:

https://github.com/CDISource/cdisource/blob/master/beancontainer/api/src/main/java/org/cdisource/beancontainer/BeanContainer.java

The Spring integration piece that I wrote tries to find the BeanManager in JNDI and then uses the Service Locator if it does not find it in JNDI.

I think it would be nice if there was a BeanManagerFactory that looks up first using JNDI, then uses a Service Locator if it can't find it in JNDI.

Ok it is not the exact behavior, but I know what you are taking about:

https://github.com/CDISource/cdisource/blob/master/spring/src/main/java/org/cdisource/springintegration/BeanManagerLocationUtil.java




On Mon, Apr 25, 2011 at 12:38 AM, Pete Muir (JIRA) <jira-events@lists.jboss.org> wrote:

   [ https://issues.jboss.org/browse/CDI-117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12597724#comment-12597724 ]

Pete Muir commented on CDI-117:
-------------------------------

Cloves please file an issue for your approach.

> Add BeanManager to a ServletContext attribute
> ---------------------------------------------
>
>                 Key: CDI-117
>                 URL: https://issues.jboss.org/browse/CDI-117
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>          Components: Java EE integration
>    Affects Versions: 1.0
>            Reporter: Christian Kaltepoth
>            Priority: Minor
>
> CDI 1.0 defines a JNDI lookup as the standard way to obtain the BeanManager for resources not managed by the CDI environment. However in a servlet environment it would be much easier to get the BeanManager from a standardized servlet context attribute. This would be also a major simplification in environments that don't support JNDI (for example GAE) or that don't allow to use the standard JNDI name for the BeanManager (for example Apache Tomcat).
> This topic was already discussed on weld-dev about a year ago [1]. Weld 1.0 already supports this [2] and OpenWebBeans also added this feature [3]. Unfortunately Weld 1.1 changed the attribute to a Weld-specific name in [4] which currently leads to much confusion [5].
> As both of the major CDI implementations support this feature I think it should finally be put into the spec.
> [1] http://lists.jboss.org/pipermail/weld-dev/2010-March/002359.html
> [2] https://issues.jboss.org/browse/WELD-202
> [3] https://issues.apache.org/jira/browse/OWB-360
> [4] https://jira.jboss.org/browse/WELD-679
> [5] http://seamframework.org/Community/GettingBeanManagerFromServletContextWithWeld11

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
cdi-dev mailing list
cdi-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev



--
Rick Hightower
(415) 968-9037
Profile