Closed ferhatsahinkaya closed 4 years ago
Do you have a reproducer showing the issue?
And yes, I believe that in this case, we need to deliver the message before setting schedule
to true.
Please find the project reproducing the issue here.
I can locally fix the issue by dispatching the message immediately in the following case:
!buffered.isEmpty()
demand > 0
handler != null
thanks, can you make a PR with a test and a fix that we will review?
Version: 3.9.1
In AmqpReceiverImpl.handleMessage implementation above, when following conditions hold, the oldest message in the buffer is removed without using it.
!buffered.isEmpty()
demand > 0
handler != null
Looks like issue can be fixed with either of the following
Probably the preferred way would be dispatching the message immediately as there is no need to wait for dispatching the message later.