对于最新的稳定版本,请使用 Spring Integration 6.4.3spring-doc.cadn.net.cn

入站消息转换

到达通道适配器或网关的入站消息将转换为spring-messaging Message<?>payload 使用消息转换器。 默认情况下,SimpleMessageConverter,它处理 Java 序列化和文本。 标头使用DefaultHeaderMapper.inboundMapper()默认情况下。 如果发生转换错误,并且没有定义错误通道,则异常将抛出到容器中,并由侦听器容器的错误处理程序处理。 默认错误处理程序将 conversion 错误视为致命错误,并且消息将被拒绝(并路由到死信交换,如果队列是这样配置的)。 如果定义了错误通道,则ErrorMessagepayload 是一个ListenerExecutionFailedExceptionwith 属性failedMessage(无法转换的 Spring AMQP 消息)和cause. 如果容器AcknowledgeModeAUTO(默认值)并且 error 流使用错误而不引发异常,则将确认原始消息。 如果错误流引发异常,则异常类型将与容器的错误处理程序一起确定是否将消息重新排队。 如果容器配置了AcknowledgeMode.MANUAL,则有效负载为ManualAckListenerExecutionFailedException具有其他属性channeldeliveryTag. 这使错误流能够调用basicAckbasicNack(或basicReject) 来控制其处置。spring-doc.cadn.net.cn