Robert Greig wrote: > > Yes, we recommend with M2.x that users use transactions to achieve > this behaviour. As I said, I think this is suboptimal too. > > RG > >
Sure, you can get once and only once by using transactions, but we're talking about the non transactional, persistent case here. The JMS spec is explicit in stating that you can get once and only once delivery without using transactions as long as the message is persistent. See Section 4.10, note how it does not mention transactions: "Most clients should use producers that produce PERSISTENT messages. This insures once-and-only-once message delivery for messages delivered from a queue or a durable subscription." Later on it is more explicit: "Non-transactional production and consumption can also achieve the same level of assurance; however, this requires careful programming." Please explain how it is possible to achieve the above paragraph in QPID without using transactions? With QPID since persistent messages are always sent asynchronously it will never be possible to provide the same level of assurance no matter how careful you program. Therefore QPID does not comply with the above statement from the spec. -- View this message in context: http://www.nabble.com/Persistent-messages-sent-non-blocking-tp17517786p17518505.html Sent from the Qpid Developers mailing list archive at Nabble.com.
