JMS reference binding always works even if destination throws exception in FSW 6
Issue
- In a SwitchYard application, I have this Camel route:
from("switchyard://SampleService")
.doTry()
.log("Received message for 'SampleService' : ${body}")
.to("switchyard://JmsQueueReference")
.log("BODY ======> ${body}")
[...]
- The binding to
"JmsQueueReference"always works, even if the JMS queue associated with the binding does not exist in JBoss EAP. - The reference binding has the following Java interface that has
IN_ONLYMEP:
public interface QueueReference {
void process(Transaction transaction);
}
-
When deploying/using to send messages to
SwitchYardapplication'sComposite ReferencewithJMS binding(with a non-existing queue name) or theCamel bindingwithJMS URI, theJMS exceptionis ignored bySwitchYard. When usingCamel routes(i.e. noJMS binding), this works as expected. -
When using
SwitchYardendpoint withJMS binding(with a non-existing queue name) theJMSexception is ignored. When usingCamel endpoint(noSwitchYardJMS binding), this works as expected. -
If we use
inOnlyand notInOutfor a method in a reference that uses a jpa-binding, jpa exceptions are not propagated back to the implementation for a component.
Environment
- Red Hat JBoss Fuse Service Works (FSW)
- 6.0.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.