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

Reply via email to