此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1! |
入站消息转换
到达通道适配器或网关的入站消息将转换为spring-messaging
Message<?>
使用消息转换器的有效负载。
默认情况下,一个SimpleMessageConverter
,它处理 Java 序列化和文本。
标头使用DefaultHeaderMapper.inboundMapper()
默认情况下。
如果发生转换错误,并且未定义错误通道,则异常将抛出到容器并由侦听器容器的错误处理程序处理。
默认错误处理程序将转换错误视为致命错误,并且消息将被拒绝(如果队列如此配置,则路由到死信交换)。
如果定义了错误通道,则ErrorMessage
有效负载是一个ListenerExecutionFailedException
有属性failedMessage
(无法转换的 Spring AMQP 消息)和cause
.
如果容器AcknowledgeMode
是AUTO
(默认值)并且错误流使用错误而不抛出异常,则将确认原始消息。
如果错误流引发异常,则异常类型与容器的错误处理程序一起确定消息是否重新排队。
如果容器配置了AcknowledgeMode.MANUAL
,则有效负载是ManualAckListenerExecutionFailedException
具有附加属性channel
和deliveryTag
.
这使错误流能够调用basicAck
或basicNack
(或basicReject
) 来控制其处置方式。