Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.1
-
Fix Version/s: 1.2
-
Component/s: Transport: JMS
-
Labels:None
-
Similar Issues:None
Description
Currently All Jms endpoints use the same JmsReceiver. As this receiver supports XA transactions, it has to poll a destination rather than use a Jms MessageListener. This puts unecessary overhead on Jms endpoints that are not transacted.
I propose to introduce a TransactedJmsReceiver (current) and a JmsReceiver (uses MessageListener) and have Mule determine which one to used based on whether the endpoint is transacted.
Introduced a transacted.message.receiver service descriptor property that will be used to load the message receiver when the endpoint is transacted. This means by default the MessageListener implementation of the JmsMessageReceiver is used