2008/5/28 TLFox <[EMAIL PROTECTED]>: > > > > Robert Greig wrote: >> >> 2008/5/28 Robert Godfrey <[EMAIL PROTECTED]>: >> >>> It is, indeed, a major omission of AMQP 0-8 / 0-9 that there is no >>> synchronous publish method in the protocol. This is rectified in >>> 0-10. >> >> >> > > That does indeed seem a big omission. > > It basically means, that without using transactions, it's not possible to > get once and only once delivery guarantee with 0.8 or 0.9, and by > implication any JMS system built on top of AMQP 0.8/0.9 is not possible to > be spec compliant.
it's possible to pass the TCK :-) But I agree, to be 100% compliant with the spirit of the spec then you would want a synchronous publish in the underlying protocol. I'm personally reluctant to add more qpid "extensions" to AMQP0-8/0-9 when the machinery already exists in AMQP 0-10 which is what the trunk code / C++ broker implements. > What I would suggest is to add a flag so users can choose whether persistent > messages are sent sync or async. That can default to async so you get better > performance, but you need some way of letting users get normal JMS > behaviour. Otherwise you risk losing customer data, since believe me, JMS > users will assume persistent messages are sent sync (every other system I > know does it this way). If we were to add an AMQP extension then I would assume we would also aysnc publish to be turned on / off on a per producer basis... -- Rob
