[weld-dev] CODI and JBoss AS 6 final: ProjectStageActivationExtension didn't implement the Extension interface

Michael Schütz michaelschuetz83 at gmail.com
Mon Jan 3 18:48:47 EST 2011


This is interesting:

As recommended, I did only keep myfaces-extcdi-* jars.

This resulted in:
Error configuring application listener of class
org.apache.webbeans.servlet.WebBeansConfigurationListener:
java.lang.ClassNotFoundException:
org.apache.webbeans.servlet.WebBeansConfigurationListener
Error configuring application listener of class
org.apache.myfaces.webapp.StartupServletContextListener:
java.lang.ClassNotFoundException:
org.apache.myfaces.webapp.StartupServletContextListener

WebBeansConfigurationListener is contained in openwebbeans-web-1.0.0.jar and
StartupServletContextListener in myfaces-impl-2.0.3.jar.

So I did comment out Listener in web.xml:
  <!--
  <listener>

<listener-class>org.apache.webbeans.servlet.WebBeansConfigurationListener</listener-class>
  </listener>

  <listener>

<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  </listener>
  -->

After that server starts fine, using Mojarra 2.0.3.
Applications works partially as expected:
* JSF2 RequestScope does work as expected
* JSF2 ViewScope does _not_ work: it seems not to be initialized
* CODI Conversation and CODI Window-Scope do work as expected
* CODI ViewAccessScoped does _not_ work as expected: it has been
initialized, but never expires

Not commenting out
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
causes:
class org.apache.myfaces.webapp.StartupServletContextListener:
java.lang.ClassNotFoundException:
org.apache.myfaces.webapp.StartupServletContextListener

This is quite strange, as this class is provided in myfaces-impl-2.0.1.jar
shipped with AS. Seems to be a classloading issue - right?

So, are this still project configuration troubles: wrong Listener used etc?
Or is it more likely to be a bug?


Thanks a lot
Michael

2011/1/3 Mark Struberg <struberg at yahoo.de>

> Hi Michael!
>
> What definitely needs to be removed:
>
> * geronimo-*_spec (all the specs are already included in JBOSS)
> * jsr250-api
> * openwebbeans*
> * scannotation
> * myfaces-impl
> * myfaces-api
>
> you should also be able to remove all the commons stuff...
>
>
> The only things you need are basically the myfaces-extcdi-* jars.
>
> LieGrue,
> strub
>
>
> --- On Mon, 1/3/11, Michael Schütz <michaelschuetz83 at gmail.com> wrote:
>
> From: Michael Schütz <michaelschuetz83 at gmail.com>
> Subject: Re: [weld-dev] CODI and JBoss AS 6 final:
> ProjectStageActivationExtension didn't implement the Extension interface
> To: "Peter Muir" <pmuir at redhat.com>
> Cc: "weld-dev at lists.jboss.org" <weld-dev at lists.jboss.org>
> Date: Monday, January 3, 2011, 10:34 AM
>
> Pete, I already did that: I did remove geronimo-jcdi and javassist.
>
> Current error:
> 11:19:22,486 ERROR
> [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error
> installing to Start:
> name=vfs:///C:/01-Development/Projekte/CODI/jboss-6.0.0.Final/server/default/deploy/myfaces-cdi-1.0.2-SNAPSHOT.war_WeldBoo
>
> n: WELD-001409 Ambiguous dependencies for type [MessageContext] with
> qualifiers [@Default] at injection point [[parameter 1] of [method]
> @Produces @Dependent @Jsf @Named public
> org.apache.myfaces.extensions.cdi.jsf.impl.message.Jsf
>
> ssageFactory>, Instance<ELProvider>, Instance<ArgumentFilter>)]. Possible
> dependencies [[Producer Method [MessageContext] with qualifiers [@Any
> @Default] declared as [[method] @Produces @Dependent @Jsf @Named public
> org.apache.myfa
>
> eateContext(MessageContext, Instance<MessageFactory>, Instance<ELProvider>,
> Instance<ArgumentFilter>)], Managed Bean [class
> org.apache.myfaces.extensions.cdi.message.impl.DefaultMessageContext] with
> qualifiers [@Any @Default]]]
>
>         at
> org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:309)
> [:6.0.0.Final]
>
>
> Please find screenshot attached with current WEB-INF/lib directory.
> Are you saying removing everything but myfaces-extcdi-*.jar is expected to
> work?
>
>
>
> Thanks
> Michael
>
>
> 2011/1/3 Peter Muir <pmuir at redhat.com>
>
> Do what I said and remove javassist.
>
> --Pete Muirhttp://in.relation.to/Bloggers/Pete
>
> On 2 Jan 2011, at 22:34, Michael Schütz <michaelschuetz83 at gmail.com>
> wrote:
>
>
> Thanks Dan and Pete for your replys.
>
> I did remove geronimo-jcdi and got:
> 23:14:08,172 ERROR
> [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error
> installing to Start:
> name=vfs:///C:/01-Development/Projekte/CODI/jboss-6.0.0.Final/server/default/deploy/myfaces-cdi-1.0.2-SNAPSHOT.war_WeldBootstrapBean
> state=Create: java.lang.ClassCastException: org.jboss.weld
>
>
> .security.org$jboss$weld$bean-jboss$classloader:id="vfs:$$$C:$01-Development$Projekte$CODI$jboss-6$0$0$Final$server$default$deploy$myfaces-cdi-1$0$2-SNAPSHOT$war"-Built-in-Principal_$$_WeldProxy
> cannot be cast to javassist.util.proxy.ProxyObject
>
>
>         at
> org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:248)
> [:6.0.0.Final]
>         at
> org.jboss.weld.bean.builtin.ee.AbstractEEBean.<init>(AbstractEEBean.java:46)
> [:6.0.0.Final]
>
> So, I removed javassist in the next step and i got:
>
>
> 23:17:31,816 ERROR
> [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error
> installing to Start:
> name=vfs:///C:/01-Development/Projekte/CODI/jboss-6.0.0.Final/server/default/deploy/myfaces-cdi-1.0.2-SNAPSHOT.war_WeldBootstrapBean
> state=Create: org.jboss.weld.exceptions.DeploymentExceptio
>
>
> n: WELD-001409 Ambiguous dependencies for type [MessageContext] with
> qualifiers [@Default] at injection point [[parameter 1] of [method]
> @Produces @Dependent @Jsf @Named public
> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareMessageContextProducer.createContext(MessageContext,
> Instance<Me
>
>
> ssageFactory>, Instance<ELProvider>, Instance<ArgumentFilter>)]. Possible
> dependencies [[Producer Method [MessageContext] with qualifiers [@Any
> @Default] declared as [[method] @Produces @Dependent @Jsf @Named public
> org.apache.myfaces.extensions.cdi.jsf.impl.message.JsfAwareMessageContextProducer.cr
>
>
> eateContext(MessageContext, Instance<MessageFactory>, Instance<ELProvider>,
> Instance<ArgumentFilter>)], Managed Bean [class
> org.apache.myfaces.extensions.cdi.message.impl.DefaultMessageContext] with
> qualifiers [@Any @Default]]]
>
>
>         at
> org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:309)
> [:6.0.0.Final]
>
> Seams like myfaces-extcdi-message-module-impl-0.9.1.jar causes the
> troubles. Any thoughts what needs to be done?
>
>
>
>
> Thanks
> Michael
>
>
> 2011/1/1 Pete Muir <pmuir at redhat.com>
>
>
>
>
> On 31 Dec 2010, at 17:39, Dan Allen wrote:
>
>
>
> > It's more than likely geronimo-jcdi jar that's causing the problem. Weld
> looks to see if Extension class equals Extension class and since there are
> two independent instances on the classpath, it breaks the comparison. 9/10
> this is the source of a class not found problem.
>
>
>
> >
>
> > Java EE APIs should never be provided by an archive when deploying to a
> compliant app server. If you were moving from Tomcat to JBoss AS it's
> important to keep that in mind.
>
> >
>
> > I doubt the apache-commons libraries would present a problem, so you can
> likely leave those.
>
>
>
> They (used to at least) cause problems with RichFaces.
>
>
>
> In general until AS7 I would recommend not duplicating libs in your war
> that in the AS, it will cause you a lot less problems in the long run :-D
>
>
>
>
>
> >
>
> > -Dan
>
> >
>
> > On Fri, Dec 31, 2010 at 11:00 AM, Pete Muir <pmuir at redhat.com> wrote:
>
>
> > Aha, as I thought you are bundling in the war all sorts of stuff which
> AS6 provides (and doesn't support overriding simply by placing in the war).
>
> >
>
> > Try removing at least:
>
> >
>
> > * geronimo*
>
> > * javassist
>
> > * jsr250-api
>
> > * myfaces-api
>
> > * myfaces-impl
>
> > * openwebbeans*
>
> > * scannotation
>
> >
>
> > you may also need to remove commons-XXX which duplicate that in the AS
>
> >
>
> > HTH
>
> >
>
> >
>
> > On 31 Dec 2010, at 15:42, Michael Schütz wrote:
>
> >
>
> > > Please see attached screenshot.
>
> > >
>
> > > Thanks
>
> > > Michael
>
> > >
>
> > > 2010/12/31 Pete Muir <pmuir at redhat.com>
>
>
> > > No idea.
>
> > >
>
> > > What jars are placed in WEB-INF/lib?
>
> > >
>
> > > On 31 Dec 2010, at 15:19, Michael Schütz wrote:
>
> > >
>
> > > > Thanks for reply, Pete.
>
> > > >
>
> > > > Already spoke to CODI team. They do implement Extension. Doesn't look
> like CODI bug for them.
>
> > > >
>
> > > > So, does this CDI POM config look strange:
>
> > > > <!-- MyFaces CODI -->
>
> > > >     <dependency>
>
> > > >       <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
>
> > > >       <artifactId>myfaces-extcdi-core-api</artifactId>
>
> > > >       <version>${myfaces_codi.version}</version>
>
> > > >       <scope>compile</scope>
>
> > > >     </dependency>
>
> > > >
>
> > > >     <dependency>
>
> > > >       <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
>
> > > >       <artifactId>myfaces-extcdi-core-impl</artifactId>
>
> > > >       <version>${myfaces_codi.version}</version>
>
> > > >       <scope>runtime</scope>
>
> > > >     </dependency>
>
> > > >     <dependency>
>
> > > >       <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
>
> > > >       <artifactId>myfaces-extcdi-jsf20-module-api</artifactId>
>
> > > >       <version>${myfaces_codi.version}</version>
>
> > > >       <scope>compile</scope>
>
> > > >     </dependency>
>
> > > >
>
> > > >       <dependency>
>
> > > >         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
>
> > > >         <artifactId>myfaces-extcdi-jsf20-module-impl</artifactId>
>
> > > >         <version>${myfaces_codi.version}</version>
>
> > > >         <scope>runtime</scope>
>
> > > >     </dependency>
>
> > > >
>
> > > >
>
> > > > Cheers
>
> > > > Michael
>
> > > >
>
> > > > 2010/12/31 Pete Muir <pmuir at redhat.com>
>
>
> > > >
>
> > > > On 31 Dec 2010, at 14:37, Michael Schütz wrote:
>
> > > >
>
> > > > > Hi to all,
>
> > > > >
>
> > > > > would like to run CODI/MyFaces example within JBoss AS 6 final.
>
> > > > > Getting:
>
> > > > > WeldBootstrapBean state=Create: java.lang.RuntimeException: Service
> class or
>
> > > > >
> g.apache.myfaces.extensions.cdi.core.impl.projectstage.ProjectStageActivationExtension
> didn't implement the Extension interface
>
> > > > >
>
> > > > >         at
> org.jboss.weld.util.ServiceLoader.loadClass(ServiceLoader.java:261)
> [:6.0.0.Final]
>
> > > > >
>
> > > > >         at
> org.jboss.weld.util.ServiceLoader.loadService(ServiceLoader.java:233)
> [:6.0.0.Final]
>
> > > > >         at
> org.jboss.weld.util.ServiceLoader.loadServiceFile(ServiceLoader.java:194)
> [:6.0.0.Final]
>
> > > > >
>
> > > > >         at
> org.jboss.weld.util.ServiceLoader.reload(ServiceLoader.java:157)
> [:6.0.0.Final]
>
> > > > >
>
> > > > >         at
> org.jboss.weld.util.ServiceLoader.iterator(ServiceLoader.java:346)
> [:6.0.0.Final]
>
> > > > >         at
> org.jboss.weld.bootstrap.ExtensionBeanDeployer.addExtensions(ExtensionBeanDeployer.java:93)
> [:6.0.0.Final]
>
> > > > >
>
> > > > >         at
> org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:333)
> [:6.0.0.Final]
>
> > > > >
>
> > > > >         at
> org.jboss.weld.integration.deployer.env.helpers.BootstrapBean.boot(BootstrapBean.java:92)
> [:6.0.0.Final]
>
> > > > >
>
> > > > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) [:1.6.0_21]
>
> > > > >
>
> > > > >         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [:1.6.0_21]
>
> > > > >         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [:1.6.0_21]
>
> > > > >
>
> > > > > Everything runs fine within Tomcat7.
>
> > > > >
>
> > > > > Already posted question at Weld forum without having much success:
> http://seamframework.org/Community/CODIAndJBossAS6FinalProjectStageActivationExtensionDidntImplementTheExtensionInterface
>
>
>
> > > > >
>
> > > > > What I would like to know:
>
> > > > > 1) Is it not supposed to run?
>
> > > >
>
> > > > I would guess it is, but you should check with the CODI team.
>
> > > >
>
> > > > > 2) Is it project configuration issue?
>
> > > >
>
> > > > Possibly, it looks like it does really impl Extension so check you
> aren't bundling the CDI API in your war accidentally.
>
> > > >
>
> > > > > 3) Is it a bug? (JBoss, Weld? JIRA issue already filed)
>
> > > >
>
> > > > Probably not in JBoss or Weld.
>
> > > >
>
> > > > >
>
> > > > >
>
> > > > > thanks a lot
>
> > > > > Michael
>
> > > > > _______________________________________________
>
> > > > > weld-dev mailing list
>
> > > > > weld-dev at lists.jboss.org
>
>
> > > > > https://lists.jboss.org/mailman/listinfo/weld-dev
>
>
> > > >
>
> > > >
>
> > > > _______________________________________________
>
> > > > weld-dev mailing list
>
> > > > weld-dev at lists.jboss.org
>
>
> > > > https://lists.jboss.org/mailman/listinfo/weld-dev
>
>
> > >
>
> > >
>
> > > <codi_webinf_lib.png>
>
> >
>
> >
>
> > _______________________________________________
>
> > weld-dev mailing list
>
> > weld-dev at lists.jboss.org
>
> > https://lists.jboss.org/mailman/listinfo/weld-dev
>
>
> >
>
> >
>
> >
>
> > --
>
> > Dan Allen
>
> > Principal 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
>
>
>
>
>
>
> _______________________________________________
>
> weld-dev mailing list
>
> weld-dev at lists.jboss.org
>
> https://lists.jboss.org/mailman/listinfo/weld-dev
>
>
>
>
>
>
>
> -----Inline Attachment Follows-----
>
> _______________________________________________
> 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/20110104/84440053/attachment-0001.html 


More information about the weld-dev mailing list