smallrye / smallrye-reactive-messaging

SmallRye Reactive Messaging
http://www.smallrye.io/smallrye-reactive-messaging/
Apache License 2.0
242 stars 179 forks source link

JMS - Message acknowledgement #2575

Open dankristensen opened 7 months ago

dankristensen commented 7 months ago

We have discussed a bit about acknowledgement, when using CLIENT_ACKNOWLEDGE during the jms connector.

When i try this and my Inbound annotated method throws an Exception, this results in the message being "stuck" in the client.

If the broker restarts for some reason, this will typically mean that the message will be redelivered.

Another approach could be that in the inbound annotated method is surrounded with at try - catch, where the catch will put the unaccepted message on a backout queue.

But this seems like a very general issue, so would it be possible to create an annotation that could take of this?

Like @Backout(queue="SOME_QUEUE_BACKOUT")

cescoffier commented 7 months ago

We cannot add JMS specific annotation. However, we can implement a failure strategy which would do that. We are already doing this for Kafka, and Pulsar.

dankristensen commented 7 months ago

That sounds like a brilliant idea. Is it ok, that i do some initial work on this, and that you can follow up on this later on?

I will try to do it like Kafka fault package

dankristensen commented 3 months ago

I have been working on this here: https://github.com/smallrye/smallrye-reactive-messaging/pull/2599 . But need some help to get this completed