跳到主要内容
版本:7.0.2

入站消息转换

DeepSeek V3 中英对照 Inbound Message Conversion

入站消息到达通道适配器或网关时,会通过消息转换器转换为 spring-messagingMessage<?> 负载。默认情况下,使用 SimpleMessageConverter 来处理 Java 序列化和文本。头部映射默认使用 DefaultHeaderMapper.inboundMapper()。如果发生转换错误且未定义错误通道,异常将抛给容器并由监听器容器的错误处理器处理。默认的错误处理器将转换错误视为致命错误,消息将被拒绝(如果队列配置了死信交换,则路由到死信交换)。如果定义了错误通道,ErrorMessage 的负载将是一个 ListenerExecutionFailedException,其属性包括 failedMessage(无法转换的 Spring AMQP 消息)和 cause。如果容器的 AcknowledgeModeAUTO(默认值)且错误流在消费错误时未抛出异常,原始消息将被确认。如果错误流抛出异常,异常类型与容器的错误处理器将共同决定消息是否重新入队。如果容器配置为 AcknowledgeMode.MANUAL,负载将是一个 ManualAckListenerExecutionFailedException,包含额外的 channeldeliveryTag 属性。这使得错误流能够为消息调用 basicAckbasicNack(或 basicReject),以控制其处置方式。