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

Reply via email to