[
https://issues.apache.org/jira/browse/QPIDJMS-121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967894#comment-14967894
]
Robbie Gemmell edited comment on QPIDJMS-121 at 12/22/15 11:32 AM:
-------------------------------------------------------------------
The initial work on implementing the AMQP BINDMAP TC based version of
controlling the message dispositions has now been pushed to QPid JMS master.
The application can set the acknowledgement type via an integer property set on
the received message prior to a call to acknowledge on the Message. An example
usage is shown below:
{code}
message = messageConsumer.receive(6000);
if (message != null) {
message.setIntProperty("JMS_AMQP_ACK_TYPE", 2);
message.acknowledge();
}
{code}
The values for the various dispositions are shown below:
{noformat}
ACCEPTED = 1;
REJECTED = 2;
RELEASED = 3;
MODIFIED_FAILED = 4;
MODIFIED_FAILED_UNDELIVERABLE = 5;
{noformat}
As with the defined JMS behaviour in CLIENT_ACKNOWLEDGE mode, all messages on
the session seen by the application and not yet acknowledged will have the
disposition applied to them.
was (Author: tabish121):
The initial work on implementing the AMQP BINDMAP TC based version of
controlling the message dispositions has now been pushed to QPid JMS master.
The application can set the acknowledgement type via an integer property set on
the received message prior to a call to acknowledge on the Message. An example
usage is shown below:
{code}
message = messageConsumer.receive(6000);
if (message != null) {
message.setIntProperty("JMS_AMQP_ACK_TYPE", 2);
message.acknowledge();
}
{code}
The values for the various dispositions are shown below:
{noformat}
ACCEPTED = 1;
REJECTED = 2;
RELEASED = 3;
MODIFIED_FAILED = 4;
MODIFIED_FAILED_UNDELIVERABLE = 5;
{noformat}
> add ability to send different AMQP dispositions when using client-acknowledge
> mode
> ----------------------------------------------------------------------------------
>
> Key: QPIDJMS-121
> URL: https://issues.apache.org/jira/browse/QPIDJMS-121
> Project: Qpid JMS
> Issue Type: New Feature
> Components: qpid-jms-client
> Affects Versions: 0.6.0
> Reporter: Andrew Buckley
> Assignee: Robbie Gemmell
> Fix For: 0.7.0
>
>
> description from GitHub README. README and code changes located here:
> https://github.com/andrew-buckley/qpid-jms/
> h1. QpidJMS with AMQP-style acknowledgements
> This is a fork of the QpidJMS project that adds the ability to acknowledge
> messages in three ways: CONSUMED, POISONED, and RELEASED.
> The fork is based on QpidJMS version 0.4.0-SNAPSHOT but has been merged with
> the current unreleased 0.6.0. The fork is
> fully compatible with JMS 1.1 but provides an additional interface,
> JmsAmqpMessage
> (found in org.apache.qpid.jms), that features this new functionality.
> Any messages consumed using this provider can be safely cast to type
> JmsAmpqMessage.
> h2. Additions
> * org.apache.qpid.jms.message.JmsAmqpMessage
> * org.apache.qpid.jms.message.JmsAcknowledgeCallback
> h2. Changes
> * Added method acknowledge(ProviderConstants.ACK_TYPE ackType) to
> org.apache.qpid.jms.message.JmsMessage.
> * Changed acknowledgeCallback type in org.apache.qpid.jms.message.JmsMessage
> to type JmsAcknowledgeCallback.
> * Changed method onInboundMessage in org.apache.qpid.jms.JmsMessageConsumer
> to set a message callback
> that takes an ACK_TYPE as an argument.
> * Changed method acknowledge() in org.apache.qpid.jms.JmsSession to take an
> ACK_TYPE as an argument.
> * Changed method acknowledge(JmsSessionId sessionId) in
> org.apache.qpid.jms.JmsConnection to take an ACK_TYPE
> as an argument.
> * Changed method acknowledge(final JmsSessionId sessionId, final AsyncResult
> request) in
> org.apache.qpid.jms.provider.amqp.AmqpProvider to take an ACK_TYPE as an
> argument.
> * Changed method acknowledge() in
> org.apache.qpid.jms.provider.amqp.AmqpSession to take an ACK_TYPE
> as an argument.
> * Changed method acknowledge() in
> org.apache.qpid.jms.provider.amqp.AmqpConsumer to take an ACK_TYPE
> as an argument. The method maps acknowledgement types to AMQP dispositions as
> follows:
> CONSUMED to ACCEPTED, POISONED to REJECTED, RELEASED to RELEASED.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]