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.

Reply via email to