If I use JMS end points will the exchanges inside ServiceMix can be recovered on a crash?. I am using a cluster with HA. Also can you point me to some docs on using JMS endpoints. I have some business logic to handle the messages. The samples code is just passing message from one component to another. While the message is passed it may get lost on a system failure. That is why I opt for XA.
Don't know what is the use of DONE exchange. When I use the done(exchange) method, the producer component is invoked multiple times. The code is attached. It is using a SU. The container configuration is also included. http://www.nabble.com/file/p23540566/code.zip code.zip Regards, Antony. Gert Vanthienen wrote: > > Antony, > > The message seems to indicate that an transaction was in progress but > uncommitted. Could you verify that you actually commit the > transactions you start? Also, make sure that the entire MEP is > handled before committing the transaction (e.g. by using sendSync or > by explicitly sending a DONE exchange yourself) -- have a look at the > code samples on http://servicemix.apache.org/transactions.html. > > Are you coding this yourself or are you using something like Spring's > TransactionTemplate to ease the work a bit? If you have already > checked that, could you post us a sample of the code you are using as > that might help us solve your issue? > > For most use cases, I would recommend you to avoid the use of the JCA > Flow -- most of the times, it's much more convenient to use a matching > consumer-provider pair of JMS endpoints. This will allow you to > control transaction boundaries in a more fine-grained way and it will > also avoid needless serialization of every MessageExchange while > giving you the same level of reliability. > > Regards, > > Gert Vanthienen > ------------------------ > Open Source SOA: http://fusesource.com > Blog: http://gertvanthienen.blogspot.com/ > > > > 2009/5/6 Antony Paul <[email protected]>: >> >> Hi, >> I am trying to set up JTA XA transactions in ServiceMix so application >> will have JBI message exchange recovery. Everything seems to work fine. >> Messages are recovered on server restart. The only problem is the warning >> messages from ActiveMQ. What does this mean? How to fix it. >> >> ServerSessionImpl:3 | .activemq.ra.ServerSessionImpl 234 | Local >> transaction had not been commited. Commiting now. >> -------- >> -------- >> ServerSessionImpl:3 | .activemq.ra.ServerSessionImpl 177 | Endpoint >> failed to process message. Reason: Endpoint after delivery notification >> failure >> >> Some more detail : >> I wrote a sample application with two components both extends >> ComponentSupport and implements MessageExchangeListener. In the first >> component I wrote a Timer that will send only one message to the next >> component. The sending is done inside a transaction. The second component >> after processing commits the transaction. On committing I am getting the >> above messages. Nothing other than sending message is done. ie. no other >> resource is in the transaction. >> >> It is deployed into the default servicemix container. Using all the >> default config files. >> The container element is modified to add persistent="true" >> autoEnlistInTransaction="true" flowName="jca". >> >> Using Fuse ESB 3.4 with AMQ 5.2.0. >> >> Regards, >> Antony >> -- >> View this message in context: >> http://www.nabble.com/ActiveMQ-warning---Local-transaction-had-not-been-commited.-Commiting-now-tp23403767p23403767.html >> Sent from the ServiceMix - User mailing list archive at Nabble.com. >> >> > > > ----- > --- > Gert Vanthienen > http://gertvanthienen.blogspot.com > -- View this message in context: http://www.nabble.com/ActiveMQ-warning---Local-transaction-had-not-been-commited.-Commiting-now-tp23403767p23540566.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
