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: emijiang@uk.ibm.com
Lotus Notes: Emily Jiang/UK/IBM@IBMGB




From:        Martin Kouba <mkouba@redhat.com>
To:        Emily Jiang/UK/IBM@IBMGB, Weld <weld-dev@lists.jboss.org>,
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: emijiang@uk.ibm.com
> Lotus Notes: Emily Jiang/UK/IBM@IBMGB
>

--
Martin Kouba
Software Engineer
Red Hat, Czech Republic