You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by fadams <fr...@blueyonder.co.uk> on 2011/03/10 18:25:13 UTC

"Synchronizing" via JMS API?/JMS optimisation

The documentation for the C++ API has a subsection on optimisation, in
particular it refers to aynchronous messaging being optimal and of course
then refers to the need to explicitly call session.sync().

With the Java JMS API all of this is far from clear, although by default
communication is asynchronous.

There are references to using sync_persistence in the connection URL and
IIRC there is also a property that one can set to force synchronous
behaviour (which is the "intuitive" model one would expect with JMS) -
unfortunately that hoses performance 

What I'd really like to achieve is optimum performance whilst still having
predictability.

What I mean there is that the default behaviour is fast, but if say an
exception is throw I want to reestablish my connection and resend the
messages that weren't received by the broker.

"send" doesn't guarantee that the broker has received the message in
asynchronous mode and in the JMS API there is no session.sync() though there
appears to be in the underlying undocumented low level API.

I "think" that the right way to do this sort of thing is to use transacted
sessions - it looks like "commit" calls the low level session.sync() - I
guess as one would expect. And testing suggests this is all behaving as I'd
expect, but it would be nice to have confirmation that this approach is the
best/optimum approach to achieve predictable message delivery and recovery
from failure.

If it is it would be really good to have some documentation to that effect
in the Java subsection as the default behaviour is likely to result in
significant message loss in an exception scenario and the "sync_persistence"
approach really slooooowwwwwsss things down.

MTIA
fadams





--
View this message in context: http://apache-qpid-users.2158936.n2.nabble.com/Synchronizing-via-JMS-API-JMS-optimisation-tp6158582p6158582.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org