2008/5/28 TLFox <[EMAIL PROTECTED]>: > Section 4.10 of the spec states: > > "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."
The section that was used to justify requiring transactions was later in 4.10 of the JMS spec: "It is expected that important messages will be produced with a PERSISTENT delivery mode within a transaction and will be consumed within a transaction from a nontemporary queue or a durable subscription. When this is done, applications have the highest level of assurance that a message has been properly produced, reliably delivered, and accurately consumed. Non-transactional production and consumption can also achieve the same level of assurance; however, this requires careful programming." > If a user has no way of guaranteeing that a message ever gets to the queue > then it has no way of ensuring once and only once Yes, we recommend with M2.x that users use transactions to achieve this behaviour. As I said, I think this is suboptimal too. RG
