Hide Forgot
Workaround: Workaround Exists Workaround Description: The work around is to use: <jms:router routeOnElement="student" beanId="studentFragment" destination="queue/StudentRecordQueue"> <jms:message deliveryMode="non-persistent"/> </jms:router> When you would actually like persistent messages. project_key: SOA Smooks' JMS Router configures message persistence incorrectly. The documentation suggests the following configuration will result in persistent messages to the ESB: <jms:router routeOnElement="student" beanId="studentFragment" destination="queue/StudentRecordQueue"> <jms:message deliveryMode="persistent"/> </jms:router> Instead, this leads to non-persistent messages. This is due to a bug in org.milyn.routing.jms.JMSRouter: final int deliveryModeInt = "non-persistent".equals( jmsProperties.getDeliveryMode() ) ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT; This should instead be the inverse: final int deliveryModeInt = "non-persistent".equals( jmsProperties.getDeliveryMode() ) ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT; This is a particularly major bug because the work around will cause incorrect functionality in future versions of the ESB, which will hopefully fix the issue with a patched version of Smooks' JMS Cartridge.
It looks like this issue is still present in the version included in 5.1 ER6
Link: Added: This issue relates to JBESB-3648
Release Notes Docs Status: Added: Documented as Resolved Issue Writer: Added: dlesage Release Notes Text: Added: https://issues.jboss.org/browse/SOA-2745 The Smooks router was setting messages as non-persistent when, in fact, it should have been making them persistent. This was due to a bug in the router's code which has now been rectified As a result, messages are now set as persistent.
Verified with ER6