Bug 780337 (SOA-2745) - Router in Smooks Creates Inverse Persistence
Summary: Router in Smooks Creates Inverse Persistence
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-2745
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: 3rd Party
Version: 5.0.2
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 5.2.0 GA,5.2.0.ER5
Assignee: Tom Fennelly
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-05 19:40 UTC by Brad Davis
Modified: 2011-11-04 11:43 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-11-04 11:43:58 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBESB-3648 0 None None None Never
Red Hat Issue Tracker SOA-2745 0 None None None Never

Description Brad Davis 2011-01-05 19:40:10 UTC
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.

Comment 1 Kevin Conner 2011-01-06 10:13:11 UTC
It looks like this issue is still present in the version included in 5.1 ER6

Comment 2 tcunning 2011-07-27 21:12:36 UTC
Link: Added: This issue relates to JBESB-3648


Comment 3 David Le Sage 2011-09-27 03:41:07 UTC
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.



Comment 4 Martin Vecera 2011-11-04 11:43:58 UTC
Verified with ER6



Note You need to log in before you can comment on or make changes to this bug.