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

Dan Allen dan.j.allen at gmail.com
Mon Jan 3 19:08:17 EST 2011


Michael,

To use MyFaces on JBoss AS 6, you need to provide a hint as described here:

http://community.jboss.org/wiki/JSFonJBossAS6

Feel free to propagate that information.

<http://community.jboss.org/wiki/JSFonJBossAS6>-Dan

On Mon, Jan 3, 2011 at 6:48 PM, Michael Schütz
<michaelschuetz83 at gmail.com>wrote:

> 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
>>
>>
>>
>>
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20110103/8185ef8f/attachment-0001.html 


More information about the weld-dev mailing list