Spring Rabbit has RabbitListenerErrorHandler which is configurable via Java @Configuration via @RabbitListener. Example
@RabbitListener(containerFactory="listenerContainerFactory",
queues="${listener.queue}",
errorHandler="listenerErrorHandler")
Where is the corresponding "error-handler" attribute of rabbit:listener element in XSD schema?
XML configuration example. Note - the lowever level "error-handler" attribute for rabbit:listener-container exists.
<rabbit:listener-container connection-factory="connectionFactory"
error-handler="containerErrorHandler">
<rabbit:listener queues="${listener.queue}" ref="rabbitListener" method="handle" />
</rabbit:listener-container>
The missing error-handler:
<rabbit:listener error-handler="listenerErrorHandler" ... />
@RabbitListener
uses a more advanced listener adapter (MessagingMessageListenerAdapter
) that supports RabbitListenerErrorHandler
.
The legacy MessageListenerAdapter
(used by the XML config) does not support it.
The annotation model was added many years later.