On 03/07/2017 09:21 AM, Vince Cole wrote:
I have a requirement to for my JMS client to block, and only return once
the message has been accepted onto the specified queue or topic. If the
message is not accepted, then an exception should be thrown. We don't care
whether anything actually consumes the message.

However, my client can only seem to produce messages in asynchronous mode!
So if there's an exception, all we can do is log it. That's not enough, I
need the client application to keep the message (so it can retry later) and
only drop it once the broker has accepted it into the specified
queue/topic.

I am using:
* javax.jms : javax.jms-api : 2.0.1
* org.apache.qpid : qpid-jms-client : 0.11.1

The client offers documentation of all the configuration options some of which control when messages are sent sync or async, give that a look.

http://qpid.apache.org/releases/qpid-jms-0.11.1/docs/index.html

* org.apache.qpid : qpid-amqp-1-0-client-jms : 0.32
* The broker is ActiveMQ 5.14.0, if that makes any difference.

Please could you advise if the Qpid Java client library supports synchronous
  production and if so what settings to use, to acheive that, in the
following (where relevant):
* Options in the transport URI (in activemq.xml)
* Options in the connection URI (used by the client)
* Whether messages need to be 'persistent' or not?
* Whether the producer's JMS session should be transacted or not?
* What 'acknowledge mode' to set?
* Whether having a 'ConnectionListener' set on the connection will force it
to be asynchronous, regardless?

Thanks in advance.



--
Tim Bish
twitter: @tabish121
blog: http://timbish.blogspot.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to