[
https://issues.apache.org/jira/browse/CAMEL-13841?focusedWorklogId=292844&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-292844
]
ASF GitHub Bot logged work on CAMEL-13841:
------------------------------------------
Author: ASF GitHub Bot
Created on: 12/Aug/19 04:32
Start Date: 12/Aug/19 04:32
Worklog Time Spent: 10m
Work Description: masahoriyama-toast commented on pull request #3094:
CAMEL-13841: Allow manual Pulsar message acknowledgments
URL: https://github.com/apache/camel/pull/3094
Addresses [CAMEL-13841](https://issues.apache.org/jira/browse/CAMEL-13841)
### Motivation
Pulsar messages are currently acknowledged immediately upon consumption.
This could lead to lost messages if the application crashes or does not finish
its unit of work. In such situations, it may be desirable to leave these
messages unacknowledged so that they can be redelivered to another consumer.
### Modifications
Changed the `PulsarMessageListener`'s received method to not acknowledge the
message if `allowManualAcknowledgement` is true. Instead, we add an instance of
`PulsarMessageReceipt` as a header on the `Exchange` so that the user can
manually acknowledge the message at the appropriate time.
Added `allowManualAcknowledgement`, `ackTimeoutMillis`, and
`ackGroupTimeMillis` as URI parameters. The latter two are Pulsar consumer
configurations to allow for finer control over acknowledgements.
Added `allowManualAcknowledgement` also as a component option so that it can
default to true if absent in the Pulsar endpoint URI.
Added the `pulsarMessageReceiptFactory` component option for providing an
alternate implementation of `MessageReceipt`.
### Verifying this change
Added the following test classes:
```
PulsarConsumerAcknowledgementTest
PulsarConsumerNoAcknowledgementTest
PulsarCustomMessageReceiptTest
PulsarNegativeAcknowledgementTest
```
And added to:
`PulsarComponentTest`
### Documentation
Added to `pulsar-component.adoc`
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 292844)
Time Spent: 10m
Remaining Estimate: 0h
> Pulsar: Add the ability to manually acknowledge a message consumed from Pulsar
> ------------------------------------------------------------------------------
>
> Key: CAMEL-13841
> URL: https://issues.apache.org/jira/browse/CAMEL-13841
> Project: Camel
> Issue Type: Improvement
> Affects Versions: 2.24.1
> Reporter: Masa
> Priority: Major
> Fix For: Future
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Pulsar messages are currently acknowledged immediately upon consumption,
> which could lead to lost messages if the application crashes or does not
> finish its unit of work.
> It would be desirable to add the ability to manually acknowledge a message
> consumed from Pulsar.
> Add a handle to the Pulsar consumer in a header in the Exchange so that the
> user can acknowledge the message at will similar to what was done for Kafka:
> [https://github.com/apache/camel/blob/camel-2.24.x/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaManualCommit.java]
> https://issues.apache.org/jira/browse/CAMEL-11933
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)