title: Quarkus / Smallrye Reactive Messaging - message redelivery
body: <p>I'm currently investigating the Smallrye Reactive Messaging integration in Quarkus.Sending and receiving messages is really simple and elegant at first glance.</p>
  
  <p>But one thing which I didn't find out is: <strong>How to handle a re-delivery of messages?</strong></p>
  
  <p><strong>Example:</strong> We receive a message and try to process it. Some exception (maybe a DB not available or an optimistic lock exception or something) happens.
  In such a case I would throw an exception so that the message is not acknowledged. But currently I see no way how the message is redelivered.</p>
  
  <p>I set-up a small dummy project to test this:</p>
  
  <ul>
  <li>Quarkus <br/></li>
  <li>ActiveMQ Artemis <br/></li>
  <li>send a message (via Artemis console) into a queue <br/>
  -- queue configured with max redelivery = 3 <br/></li>
  <li>receive the message with Quarkus / Smallrye Reactive Messaging @Incoming annotation <br/></li>
  <li>throw exception in the @Incoming method <br/>
  --> Message is removed from the Artemis queue  <br/>
  --> @Incoming method is only called once <br/></li>
  </ul>
  
  <p>If I shutdown the Quarkus App, the message can be seen again in the Artemis queue with redelivered flag set to true.</p>
  
  <p>But I find no way how I can manage/configure a redelivery in the Smallrye Reactive Messaging so that this layer handles the redelivery of a message for n times and puts the message into a DLQ after the max retries.</p>
  
  <p>Is there any way to do this?</p>