Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to ack messages downstream from source #54

Open
01101101 opened this issue Aug 30, 2016 · 5 comments
Open

Ability to ack messages downstream from source #54

01101101 opened this issue Aug 30, 2016 · 5 comments

Comments

@01101101
Copy link

Messages are acked just after they are pushed downstream.

In my use-case I have to process the message, and if the processing fails, I have to nack the message (message TTL and dead letter exchange are defined on the AMQP queue).

ATM, I have created custom source and sink and ack the message in the sink (for my use case it's ok).

This issue is greatly inspired by this one: ScalaConsultants/reactive-rabbit#13

Is this features useful to anyone? How to implement it?

@drewhk
Copy link
Member

drewhk commented Aug 30, 2016

We would like to settle on a uniform way to handle acking that works across many stages, but we have not started working on it. Reactive Kafka has support for it already, we would like to extract it to a more generic interop interface possibly.

@01101101
Copy link
Author

I think there will be another problem here, from the RabbitMQ doc: "The delivery tag is valid only within the channel from which the message was received. I.e. a client MUST NOT receive a message on one channel and then acknowledge it on another."

But here we open a connection for both the source and the sink.

@drewhk
Copy link
Member

drewhk commented Aug 31, 2016

But here we open a connection for both the source and the sink.

That is not relevant as the acknowledgement goes to the Source. We have the exact same thing in Reactive Kafka.

@01101101
Copy link
Author

I think I miss something, how can the acknowledgement goes to the Source if we ack/nack downstream from the Source?

@drewhk
Copy link
Member

drewhk commented Aug 31, 2016

you get an envelope with an ack() method. Similar to Camel and other libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants