Irantha, I have three comments here:
1. The solution is essentially single threaded: at any given moment there is at most one thread that is receiving or processing a message (for a given destination). Do we really want this? If yes, do we need a worker pool for this? 2. I think we are trying to pack too much different things into the same piece of code (JMSMessageReceiver and JMSMessageReceiver.Worker). If we use MessageConsumer#receive, then it doesn't make sense to instantiate a JMSMessageReceiver, which is an implementation of MessageListener. I think that in order to support MessageConsumer#receive, we should first refactor the existing code to better separate the part that is concerned with message reception/acknowledgement and transactions from the part that really processes the message. 3. If we rollback messages, this means that at some point they will be received again (retry). How does your solution behave with respect to this? Regards, Andreas On Mon, Nov 10, 2008 at 13:06, Irantha <[EMAIL PROTECTED]> wrote: > Attched commons JMS transport diffs to support JTA User Transactions. > axis2.xml transport receiver configuration is as following, > > <transportReceiver name="jms" > class="org.apache.synapse.transport.jms.JMSListener"> > <parameter name="default"> > <parameter > name="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</parameter> > <parameter name="java.naming.provider.url">localhost:1099</parameter> > <parameter > name="transport.jms.ConnectionFactoryJNDIName">java:JmsXA</parameter> > <parameter > name="transport.jms.UserTransactionJNDIName">UserTransaction</parameter > <parameter name="transport.jms.AutoCommit">true</parameter> > <parameter name="transport.jms.ConnectionFactoryType" > locked="false">queue</parameter> > </parameter> > </transportReceiver> > > -Irantha > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
