Hi Jonathan,

am I correct in thinking you are using recover() in a session which uses
MessageListener asynchronous message receipt (rather than a synchronous
consumer.receive() style)?  From a quick look at the code it does seem like
there is a bug there (using consumer.receive() should work with recover
though).

I've raised an issue in JIRA :
https://issues.apache.org/jira/browse/QPID-6141 and I've made a change to
the trunk codebase which I believe will fix this problem.

Apologies for the bug,
Rob

On 10 October 2014 12:35, jonathans2 <[email protected]> wrote:

> Hi, I'm trying to use the JMS AMQP1.0 client with activemq. In my
> application, I want to be able to effectively NACK a message in certain
> error conditions, so it'll get redelivered. To do this, I'm creating a
> session with Session.CLIENT_ACKNOWLEDGE, and in my listener calling
> message.acknowledge() on success. On failure, I'm calling
> session.recover(),
> as my reading of the jms spec suggests this is the only way to ensure the
> message gets redelivered, otherwise a subsequent call to
> message.acknowledge
> on a different message will implicitly acknowledge the previous message.
>
> However, after calling session.recover(), I stop seeing any messages on
> that
> queue at all. If I restart my application, then they all come through and
> are processed.
>
> Am I doing something wrong? Is this a bug in the amqp-1-0-jms library?
> Should I abandon my attempts to use that library and use proton-j directly
> instead (despite a fairly terminal lack of documentation as far as I can
> see).
>
> Any help/advice appreciated.
>
> Jonathan
>
>
>
>
> --
> View this message in context:
> http://qpid.2158936.n2.nabble.com/Problems-using-CLIENT-ACKNOWLEDGE-with-qpid-amqp-1-0-client-jms-0-28-and-ActiveMQ-tp7614874.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to