Thanks James. Let me describe a typical use-case: I need to send some kind of a command object along with a binary file. I serialize the command object to XML and send it as a JMS TextMessage. Now comes the file, which is quite large (~200Mb), so I need streaming. The problem is - what happens if the consumer got the TextMessage and acknowledged it, and then crashed? The File may eventually get there, possibly using a different consumer thread (*) but the TextMessage will not be redelivered since it was acknowledged. That's why, in my opinion, and please correct me if I'm wrong here, I need a transaction to include both the TextMessage and the file.
Naaman (*) Since we're deployed in a cluster, the TextMessage and the File might have ended up in different nodes altogether, but luckily there's ActiveMQ MessageGroups :-) -- View this message in context: http://www.nabble.com/Consuming-a-group-of-messages-in-a-single-transaction-tf1966918.html#a5535611 Sent from the ActiveMQ - User forum at Nabble.com.
