In the configuration below I have a message-driven-channel-adapter with a message-converter so the service-activator is invoked with the converted payload.
<int-jms:message-driven-channel-adapter id="myConsumerChannelAdapter" connection-factory="connectionFactory"
destination="input_queue" channel="input_channel" error-channel="errorChannel"
message-converter="messageConverter" header-mapper="jmsHeaderMapper" acknowledge="client" max-concurrent-consumers="10"/>
<int:service-activator input-channel="input_channel" output-channel="output_enricher_channel" ref="MyConsumer"/>
If an exception is thrown by MyConsumer it will be send to the errorChannel. So far it works as intended.
But when the message converter throws an exception like MessageConversionException it is not send to the errorChannel. If I log exceptions caused by message-converter I get:
AbstractMessageListenerContainer.invokeErrorHandler(875) | Execution of JMS message listener failed, and no ErrorHandler has been set.
But how can I assign an ErrorHandler to my Channel Adapter or send those exceptions to my errorChannel?