Well, it seems the problem is that CounterProducerModified is specialized by AlternativeCounterProducerModified and so it's not enabled and therefore it's producer method is also disabled (see also 5.1.2. Enabled and disabled beans [1]), i.e. it's not available for injection in beans-xml-modified2.jar. And AlternativeCounterProducerModified is an alternative which is not selected for beans-xml-modified2.jar.
It should work if you enable AlternativeCounterProducerModified globally or select AlternativeCounterProducerModified for beans-xml-modified2.jar. Martin [1] http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#enablement Dne 18.11.2015 v 16:14 Emily Jiang napsal(a): > Hi Martin, > > Here's a simplified form of the test case: > > > The application does not start, reporting > > [ERROR ] CWWKZ0004E: An exception occurred while starting the > application testDiffBDA. The exception message was: > com.ibm.ws.container.service.state.StateChangeException: > org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied > dependencies for type String with qualifiers @CounterModifiedQualifier > at injection point [BackedAnnotatedField] @Inject > @CounterModifiedQualifier > com.ibm.jcdi.test.beansxml.CounterProducerConsumerModified2.modifiedProducer > at > com.ibm.jcdi.test.beansxml.CounterProducerConsumerModified2.modifiedProducer(CounterProducerConsumerModified2.java:0) > > There are five classes in the .war. > > testDiffBDA.war/WEB-INF/classes/test/diff/web/FrontEndServlet.class > > @Inject CounterProducerConsumerModified2 bean; > > This class, CounterProducerConsumerModified2.class is packaged in the > first of two WEB-INF/lib jars, at > testDiffBDA.war/WEB-INF/lib/beans-xml-modified2.jar.jar/com/ibm/jcdi/test/beans/xml. > There is a bean that needs another bean injected into it: > > @Inject@CounterModifiedQualifierString modifiedProducer; > > The remaining three classes are all in the second WEB-INF/lib jar, at > testDiffBDA.war/WEB-INF/lib/beans-xml-modified.jar.jar/com/ibm/jcdi/test/beansxml/. > The classes are > > CounterModifiedQualifier (the interface) > CounterProducerModified (the bean implementing that interface) > AlternativeCounterProducerModified (an alternative bean) > > The AlternativeCounterProducerModified class is declared in > testDiffBDA.war/WEB-INF/lib/beans-xml-modified.jar.jar/META-INF/beans.xml, > > <alternatives> > <class>com.ibm.jcdi.test.beansxml.AlternativeCounterProducerModified</class> > </alternatives> > > The test app starts correctly if the <alternative> stanza is commented out. > > > Many thanks, > Emily > =========================== > Emily Jiang > WebSphere Application Server, CDI Development Lead > > MP 211, DE3A20, Winchester, Hampshire, England, SO21 2JN > Phone: +44 (0)1962 816278 Internal: 246278 > > Email: [email protected] > Lotus Notes: Emily Jiang/UK/IBM@IBMGB > > > > > From: Martin Kouba <[email protected]> > To: Emily Jiang/UK/IBM@IBMGB, Weld <[email protected]>, > Date: 18/11/2015 07:58 > Subject: Re: potential weld jira > ------------------------------------------------------------------------ > > > > Hi Emily, > > a brief description would be helpful - it's not a trivial > deployment/reproducer. > > Martin > > Dne 16.11.2015 v 23:15 Emily Jiang napsal(a): > > I'm trying to deploy the attached war but got Weld alidation error. On > > Glassfish 4.1, I got this error: > > Error occurred during deployment: Exception while loading the app : CDI > > deployment failure:WELD-001408: Unsatisfied dependencies for type String > > with qualifiers @DiffBDACounterQualifier at injection point > > [BackedAnnotatedField] @Inject @DiffBDACounterQualifier > > > com.ibm.jcdi.test.beansxml.CounterProducerConsumerModified.diffBDAProducer > > at > > > com.ibm.jcdi.test.beansxml.CounterProducerConsumerModified.diffBDAProducer(CounterProducerConsumerModified.java:0) > > WELD-001475: The following beans match by type, but none have matching > > qualifiers: - Producer Method [String] with qualifiers > > [@CounterUnmodifiedQualifier @Any] declared as [[BackedAnnotatedMethod] > > @ExcludeClassInterceptors @Produces @CounterUnmodifiedQualifier > > > com.ibm.jcdi.test.beansxml.CounterProducerNoModifiers.getCounterBeanProducer()], > > - Producer Method [String] with qualifiers [@BatchProperty @Any] > > declared as [[UnbackedAnnotatedMethod] @Produces @Dependent > > @BatchProperty public com.ibm.jbatch.container.cdi.BatchProducerBean.p > > .... msg.seeServerLog > > > > > > > > > > > > The app works fine on OpenWebBeans. Any ideas on what was wrong? > > > > Many thanks, > > Emily > > =========================== > > Emily Jiang > > WebSphere Application Server, CDI Development Lead > > > > MP 211, DE3A20, Winchester, Hampshire, England, SO21 2JN > > Phone: +44 (0)1962 816278 Internal: 246278 > > > > Email: [email protected] > > Lotus Notes: Emily Jiang/UK/IBM@IBMGB > > > > -- > Martin Kouba > Software Engineer > Red Hat, Czech Republic > > > -- Martin Kouba Software Engineer Red Hat, Czech Republic _______________________________________________ weld-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/weld-dev
