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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
