[
https://issues.apache.org/jira/browse/QPIDJMS-121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967894#comment-14967894
]
Timothy Bish commented on QPIDJMS-121:
--------------------------------------
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}
> Adds ability to acknowledge amqp messages with different ack types
> ------------------------------------------------------------------
>
> Key: QPIDJMS-121
> URL: https://issues.apache.org/jira/browse/QPIDJMS-121
> Project: Qpid JMS
> Issue Type: Improvement
> Components: qpid-jms-client
> Affects Versions: 0.6.0
> Reporter: Andrew Buckley
>
> 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]