[ 
https://issues.apache.org/jira/browse/OWB-1298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17419632#comment-17419632
 ] 

Thomas Andraschko edited comment on OWB-1298 at 9/24/21, 7:58 AM:
------------------------------------------------------------------

ok, JFYI
i was also quite confused with everything in this ticket, so to sum up:
- CDI spec defines that a JAR without a beans.xml but with a CDI extension 
should NOT be scanned
- OWB scans a JAR without beans.xml but with a CDI extension by history
- that means that OWB per default isnt spec compatible to not break existing 
applications
- you can force spec compatiblity with 
org.apache.webbeans.scanExtensionJars=false
- OWB added jakarta.faces as default exclude for the next release


was (Author: tandraschko):
ok, JFYI
i was also quite confused with everything in this ticket, so to sum up:
- CDI spec defines that a JAR without a beans.xml but with a CDI extensions 
should NOT be scanned
- that means that OWB per default isnt spec compatible to not break existing 
applications
- you can force spec compatiblity with 
org.apache.webbeans.scanExtensionJars=false
- OWB added jakarta.faces as default exclude for the next release

> WebsocketUserManager ambigious resolution Jakarta Faces
> -------------------------------------------------------
>
>                 Key: OWB-1298
>                 URL: https://issues.apache.org/jira/browse/OWB-1298
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Injection and Lookup
>         Environment: Jetty 9.4
>            Reporter: Melloware
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.0.24
>
>         Attachments: owb-test.zip
>
>
> Originally Reported: https://github.com/primefaces/primefaces-test/issues/15
> Attached is a test case you can run with "*mvn clean jetty:run-exploded 
> -Pmojarra23*".
> Trying to use the latest Jakarta Faces with OWB 2.0.11 results in ambigious 
> resolution of the WebocketUserManager.
> {code:xml}
> <dependency>
>     <groupId>org.glassfish</groupId>
>     <artifactId>jakarta.faces</artifactId>
>     <version>2.3.13</version>
> </dependency>
> {code}
> The resulting stack trace:
> {code}
> org.apache.webbeans.exception.WebBeansDeploymentException: 
> javax.enterprise.inject.AmbiguousResolutionException: There is more than one 
> Bean with type com.sun.faces.push.WebsocketSessionManager Qualifiers: 
> [@javax.enterprise.inject.Default()]
> for injection into Field Injection Point, field name :  socketSessions, Bean 
> Owner : [WebsocketPushContextProducer, WebBeansType:MANAGED, Name:null, API 
> Types:[com.sun.faces.cdi.WebsocketPushContextProducer,java.lang.Object], 
> Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any]]
> found beans:
> WebsocketSessionManager, WebBeansType:MANAGED, Name:null, API 
> Types:[com.sun.faces.push.WebsocketSessionManager,java.lang.Object], 
> Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any] from 
> jar:file:/C:/dev/primefaces/primefaces-test/target/primefaces-test-1.0-SNAPSHOT/WEB-INF/lib/jakarta.faces-2.3.13.jar!/com/sun/faces/push/WebsocketSessionManager.class
> WebsocketSessionManager, WebBeansType:MANAGED, Name:null, API 
> Types:[com.sun.faces.push.WebsocketSessionManager,java.lang.Object], 
> Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any] from 
> jar:file:/C:/dev/primefaces/primefaces-test/target/primefaces-test-1.0-SNAPSHOT/WEB-INF/lib/jakarta.faces-2.3.13.jar!/com/sun/faces/push/WebsocketSessionManager.class
>     at org.apache.webbeans.config.BeansDeployer.deploy 
> (BeansDeployer.java:360)
>     at org.apache.webbeans.lifecycle.AbstractLifeCycle.bootstrapApplication 
> (AbstractLifeCycle.java:137)
>     at org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication 
> (AbstractLifeCycle.java:103)
>     at 
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication 
> (WebContainerLifecycle.java:98)
>     at 
> org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized 
> (WebBeansConfigurationListener.java:85)
>     at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized 
> (ContextHandler.java:921)
>     at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized 
> (ServletContextHandler.java:554)
>     at org.eclipse.jetty.server.handler.ContextHandler.startContext 
> (ContextHandler.java:888)
>     at org.eclipse.jetty.servlet.ServletContextHandler.startContext 
> (ServletContextHandler.java:357)
>     at org.eclipse.jetty.webapp.WebAppContext.startWebapp 
> (WebAppContext.java:1443)
>     at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp 
> (JettyWebAppContext.java:328)
>     at org.eclipse.jetty.webapp.WebAppContext.startContext 
> (WebAppContext.java:1407)
>     at org.eclipse.jetty.server.handler.ContextHandler.doStart 
> (ContextHandler.java:821)
>     at org.eclipse.jetty.servlet.ServletContextHandler.doStart 
> (ServletContextHandler.java:276)
>     at org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:524)
>     at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart 
> (JettyWebAppContext.java:397)
>     at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
> (AbstractLifeCycle.java:72)
>     at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
> (ContainerLifeCycle.java:169)
>     at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
> (ContainerLifeCycle.java:117)
>     at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
> (AbstractHandler.java:106)
>     at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
> (AbstractLifeCycle.java:72)
>     at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
> (ContainerLifeCycle.java:169)
>     at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
> (ContainerLifeCycle.java:117)
>     at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
> (AbstractHandler.java:106)
>     at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
> (AbstractLifeCycle.java:72)
>     at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
> (ContainerLifeCycle.java:169)
>     at org.eclipse.jetty.server.Server.start (Server.java:407)
>     at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
> (ContainerLifeCycle.java:110)
>     at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
> (AbstractHandler.java:106)
>     at org.eclipse.jetty.server.Server.doStart (Server.java:371)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to