-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Describe the bug
I am using artemis mq as a message broker and have an incoming stream to listen for messages on a queue. In the method for the incoming stream, I have it possible to throw an exception. It seems that if an exception is thrown the mq broker is not notified that the message has been acknowledged by my service even though I have received and processed it. My service will no longer receive any messages sent to the queue and every time I restart my service, it receives that same bad message. If I change the method to just log the error, the queue works normally and is able to receive the bad message, log it, and continue receiving messages.
Expected behavior
Throws exception but continues listening for future messages on that queue.
Actual behavior
Throws exception and no longer receives messages on that queue.
To Reproduce
Steps to reproduce the behavior:
- Start up mq broker
- Create method with incoming tag to receive messages on a queue
- Throw exception in method
- Send data that causes exception to be thrown
- Send data again
Configuration
# Add your application.properties here, if applicable.
mp.messaging.incoming.queue-name.connector=smallrye-amqp
mp.messaging.incoming.queue-name.durable=trueEnvironment (please complete the following information):
- Output of
uname -aorver: - Output of
java -version: 11.0.2 - GraalVM version (if different from Java):
- Quarkus version or git rev: 0.28.0