The statics are only used instead of new BeanManagerProvider{} ... they are not a problem and can go away. Is there another complaint?<br><br><div class="gmail_quote">On Wed, Apr 14, 2010 at 2:59 PM, Nicklas Karlsson <span dir="ltr">&lt;<a href="mailto:nickarls@gmail.com">nickarls@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Reverting &amp; repenting<div><br></div><div>It&#39;s for the JSF -&gt; CDI event bridge. I need a BeanManager to propagate the events to but the problem is that the first JSF global system event is a PostApplicationConstructed which is pretty soon.</div>

<div><br></div><div>First I try to look for it in a servlet context attribute (which the seam-servlet puts there but it&#39;s not there yet in this case)</div><div>Then I try to look in JNDI (sure, it&#39;s there but you recommended we should try to avoid this to make this available in as many places as possible)</div>

<div>Then I tried the static one as a last effort.<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Wed, Apr 14, 2010 at 5:54 PM, Pete Muir <span dir="ltr">&lt;<a href="mailto:pmuir@redhat.com" target="_blank">pmuir@redhat.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Guys,<br>
<br>
We cannot rely on statics in Seam 3. Please don&#39;t add code like this. If you have a problem accessing the BeanManager from your code, please ask here about the best solution.<br>
<br>
Nik, can you revert this please. And then explain what situation you are trying to address.<br>
<br>
Thanks.<br>
<br>
Begin forwarded message:<br>
<br>
&gt; From: <a href="mailto:seam-commits@lists.jboss.org" target="_blank">seam-commits@lists.jboss.org</a><br>
&gt; Date: 14 April 2010 13:50:21 GMT+01:00<br>
&gt; To: <a href="mailto:seam-commits@lists.jboss.org" target="_blank">seam-commits@lists.jboss.org</a><br>
&gt; Subject: [seam-commits] Seam SVN: r12493 - in modules/faces/trunk/impl/src/main: resources/META-INF/services and 1 other directory.<br>
&gt; Reply-To: <a href="mailto:seam-commits@lists.jboss.org" target="_blank">seam-commits@lists.jboss.org</a><br>
&gt;<br>
&gt; Author: nickarls<br>
&gt; Date: 2010-04-14 08:50:21 -0400 (Wed, 14 Apr 2010)<br>
&gt; New Revision: 12493<br>
&gt;<br>
&gt; Added:<br>
&gt;   modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerPickupExtension.java<br>
&gt;   modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/SingletonBeanManagerProvider.java<br>
&gt; Modified:<br>
&gt;   modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerAware.java<br>
&gt;   modules/faces/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension<br>
&gt; Log:<br>
&gt; Last attempt singletonish approach when others fail. Yes, I&#39;m ashamed.<br>
&gt;<br>
&gt; Modified: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerAware.java<br>
&gt; ===================================================================<br>
&gt; --- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerAware.java     2010-04-14 12:21:26 UTC (rev 12492)<br>
&gt; +++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerAware.java     2010-04-14 12:50:21 UTC (rev 12493)<br>
&gt; @@ -45,6 +45,7 @@<br>
&gt;       beanManagerProviders.add(ServletContextBeanManagerProvider.DEFAULT);<br>
&gt;       beanManagerProviders.add(JndiBeanManagerProvider.DEFAULT);<br>
&gt;       beanManagerProviders.add(JndiBeanManagerProvider.JBOSS_HACK);<br>
&gt; +      beanManagerProviders.add(SingletonBeanManagerProvider.DEFAULT);<br>
&gt;    }<br>
&gt;<br>
&gt;    protected BeanManager getBeanManager()<br>
&gt;<br>
&gt; Added: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerPickupExtension.java<br>
&gt; ===================================================================<br>
&gt; --- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerPickupExtension.java                           (rev 0)<br>
&gt; +++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/BeanManagerPickupExtension.java   2010-04-14 12:50:21 UTC (rev 12493)<br>
&gt; @@ -0,0 +1,56 @@<br>
&gt; +/*<br>
&gt; + * JBoss, Home of Professional Open Source<br>
&gt; + * Copyright 2010, Red Hat, Inc., and individual contributors<br>
&gt; + * by the @authors tag. See the copyright.txt in the distribution for a<br>
&gt; + * full listing of individual contributors.<br>
&gt; + *<br>
&gt; + * This is free software; you can redistribute it and/or modify it<br>
&gt; + * under the terms of the GNU Lesser General Public License as<br>
&gt; + * published by the Free Software Foundation; either version 2.1 of<br>
&gt; + * the License, or (at your option) any later version.<br>
&gt; + *<br>
&gt; + * This software is distributed in the hope that it will be useful,<br>
&gt; + * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
&gt; + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
&gt; + * Lesser General Public License for more details.<br>
&gt; + *<br>
&gt; + * You should have received a copy of the GNU Lesser General Public<br>
&gt; + * License along with this software; if not, write to the Free<br>
&gt; + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA<br>
&gt; + * 02110-1301 USA, or see the FSF site: <a href="http://www.fsf.org" target="_blank">http://www.fsf.org</a>.<br>
&gt; + */<br>
&gt; +package org.jboss.seam.faces.cdi;<br>
&gt; +<br>
&gt; +import javax.enterprise.event.Observes;<br>
&gt; +import javax.enterprise.inject.spi.AfterBeanDiscovery;<br>
&gt; +import javax.enterprise.inject.spi.BeanManager;<br>
&gt; +import javax.enterprise.inject.spi.Extension;<br>
&gt; +<br>
&gt; +/**<br>
&gt; + * Singleton(ish) extension that observes the AfterBeanDiscovery event and stores the BeanManager for access<br>
&gt; + * in places where injection is not available and JNDI or ServletContext access is not preferable.<br>
&gt; + *<br>
&gt; + * @author Nicklas Karlsson<br>
&gt; + *<br>
&gt; + */<br>
&gt; +public class BeanManagerPickupExtension implements Extension<br>
&gt; +{<br>
&gt; +   private static BeanManagerPickupExtension instance;<br>
&gt; +   private volatile BeanManager beanManager;<br>
&gt; +<br>
&gt; +   public BeanManager getBeanManager()<br>
&gt; +   {<br>
&gt; +      return beanManager;<br>
&gt; +   }<br>
&gt; +<br>
&gt; +   public static BeanManagerPickupExtension getInstance()<br>
&gt; +   {<br>
&gt; +      return instance;<br>
&gt; +   }<br>
&gt; +<br>
&gt; +   public void pickupBeanManager(@Observes AfterBeanDiscovery e, BeanManager beanManager)<br>
&gt; +   {<br>
&gt; +      this.beanManager = beanManager;<br>
&gt; +      BeanManagerPickupExtension.instance = this;<br>
&gt; +   }<br>
&gt; +}<br>
&gt;<br>
&gt; Added: modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/SingletonBeanManagerProvider.java<br>
&gt; ===================================================================<br>
&gt; --- modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/SingletonBeanManagerProvider.java                         (rev 0)<br>
&gt; +++ modules/faces/trunk/impl/src/main/java/org/jboss/seam/faces/cdi/SingletonBeanManagerProvider.java 2010-04-14 12:50:21 UTC (rev 12493)<br>
&gt; @@ -0,0 +1,43 @@<br>
&gt; +/*<br>
&gt; + * JBoss, Home of Professional Open Source<br>
&gt; + * Copyright 2010, Red Hat, Inc., and individual contributors<br>
&gt; + * by the @authors tag. See the copyright.txt in the distribution for a<br>
&gt; + * full listing of individual contributors.<br>
&gt; + *<br>
&gt; + * This is free software; you can redistribute it and/or modify it<br>
&gt; + * under the terms of the GNU Lesser General Public License as<br>
&gt; + * published by the Free Software Foundation; either version 2.1 of<br>
&gt; + * the License, or (at your option) any later version.<br>
&gt; + *<br>
&gt; + * This software is distributed in the hope that it will be useful,<br>
&gt; + * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
&gt; + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
&gt; + * Lesser General Public License for more details.<br>
&gt; + *<br>
&gt; + * You should have received a copy of the GNU Lesser General Public<br>
&gt; + * License along with this software; if not, write to the Free<br>
&gt; + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA<br>
&gt; + * 02110-1301 USA, or see the FSF site: <a href="http://www.fsf.org" target="_blank">http://www.fsf.org</a>.<br>
&gt; + */<br>
&gt; +package org.jboss.seam.faces.cdi;<br>
&gt; +<br>
&gt; +import javax.enterprise.inject.spi.BeanManager;<br>
&gt; +<br>
&gt; +/**<br>
&gt; + * A BeanManager provider for an extension provided singleton<br>
&gt; + *<br>
&gt; + * @author Nicklas Karlsson<br>
&gt; + *<br>
&gt; + */<br>
&gt; +public class SingletonBeanManagerProvider implements BeanManagerProvider<br>
&gt; +{<br>
&gt; +<br>
&gt; +   public static final BeanManagerProvider DEFAULT = new SingletonBeanManagerProvider();<br>
&gt; +<br>
&gt; +   @Override<br>
&gt; +   public BeanManager getBeanManager()<br>
&gt; +   {<br>
&gt; +      return BeanManagerPickupExtension.getInstance().getBeanManager();<br>
&gt; +   }<br>
&gt; +<br>
&gt; +}<br>
&gt;<br>
&gt; Modified: modules/faces/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension<br>
&gt; ===================================================================<br>
&gt; --- modules/faces/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension       2010-04-14 12:21:26 UTC (rev 12492)<br>
&gt; +++ modules/faces/trunk/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension       2010-04-14 12:50:21 UTC (rev 12493)<br>
&gt; @@ -1,3 +1,4 @@<br>
&gt; org.jboss.seam.faces.context.ViewScopedExtension<br>
&gt; org.jboss.seam.faces.context.FlashScopedExtension<br>
&gt; -org.jboss.seam.faces.context.FacesAnnotationsAdapterExtension<br>
&gt; \ No newline at end of file<br>
&gt; +org.jboss.seam.faces.context.FacesAnnotationsAdapterExtension<br>
&gt; +org.jboss.seam.faces.cdi.BeanManagerPickupExtension<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; seam-commits mailing list<br>
&gt; <a href="mailto:seam-commits@lists.jboss.org" target="_blank">seam-commits@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/seam-commits" target="_blank">https://lists.jboss.org/mailman/listinfo/seam-commits</a><br>
<br>
<br>
_______________________________________________<br>
seam-dev mailing list<br>
<a href="mailto:seam-dev@lists.jboss.org" target="_blank">seam-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/seam-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/seam-dev</a><br>
</blockquote></div><br><br clear="all"><br></div></div>-- <br>---<br>Nik<br>
</div>
<br>_______________________________________________<br>
seam-dev mailing list<br>
<a href="mailto:seam-dev@lists.jboss.org">seam-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/seam-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/seam-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.com">http://ocpsoft.com</a><br><a href="http://scrumshark.com">http://scrumshark.com</a><br>&quot;Keep it Simple&quot;<br>