Having multiple bean components, each containing a reference that refers to the same composite reference. The last declared component reference is always invoked. Or at least its name is logged to massage trace. If it is really invoked then it might be a problem if different transaction policies are configured on component references.
I have tested that also with Camel components and it works as expected.
Running of a reproducer: mvn clean package jboss-as:deploy exec:java
Actual message trace: Consumer -> {urn:com.example.switchyard:switchyard-example:1.0}
SecondInternalServiceBean/ExternalReference
Expected message trace: Consumer -> {urn:com.example.switchyard:switchyard-example:1.0}
FirstInternalServiceBean/ExternalReference
mvn clean package jboss-as:deploy exec:java -Dexec.args="second"
Works as expected.
|