You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Arjan Tijms (Jira)" <ji...@apache.org> on 2019/10/04 17:08:00 UTC
[jira] [Commented] (OWB-1298) WebsocketUserManager ambigious
resolution Jakarta Faces
[ https://issues.apache.org/jira/browse/OWB-1298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944674#comment-16944674 ]
Arjan Tijms commented on OWB-1298:
----------------------------------
> the issue comes from the fact the API jar adds annotated type with an id different from the id scanned for the same bean so it ends up with 2 conflicting beans.
The API jar shouldn't add annotated types, as it doesn't contain the CDI extension. I think you mean the implementation jar here.
This is the implementation jar:
<dependency><groupId>org.glassfish</groupId><artifactId>jakarta.faces</artifactId><version>2.3.13</version></dependency>
The CDI Extension in Mojarra should set an ID though. I thought I fixed that a while ago, but either the commit got lost somewhere, or I remembered wrong. I'll add these IDs for the next version of Mojarra then.
I'm not sure whether it will fix the problem though. Isn't it the case that if a jar contains an extension, OWB should not scan it? Maybe that is the real problem here?
> 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
> Fix For: 2.0.12
>
> 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)