跳到主要内容
版本:7.0.2

概述

DeepSeek V3 中英对照 Overview

路由器是许多消息架构中的关键组件。它们从消息通道消费消息,并根据一组条件将每个消费的消息转发到一个或多个不同的消息通道。

Spring Integration 提供了以下路由器:

路由器的实现共享许多配置参数。然而,不同路由器之间存在一些差异。此外,配置参数的可用性取决于路由器是在链内还是链外使用。为了提供快速概览,以下两个表格列出了所有可用的属性。

下表展示了链外路由器的可用配置参数:

表 1. 链外路由器

属性路由器header value routerxpath 路由器payload type router收件人列表路由异常类型路由器
apply-sequencetickmarktickmarktickmarktickmarktickmarktickmark
default-output-channeltickmarktickmarktickmarktickmarktickmarktickmark
resolution-requiredtickmarktickmarktickmarktickmarktickmarktickmark
ignore-send-failurestickmarktickmarktickmarktickmarktickmarktickmark
超时tickmarktickmarktickmarktickmarktickmarktickmark
idtickmarktickmarktickmarktickmarktickmarktickmark
自动启动tickmarktickmarktickmarktickmarktickmarktickmark
input-channeltickmarktickmarktickmarktickmarktickmarktickmark
ordertickmarktickmarktickmarktickmarktickmarktickmark
方法tickmark
reftickmark
表达式tickmark
header-nametickmark
evaluate-as-stringtickmark
xpath-expression-reftickmark
转换器tickmark

下表展示了链内路由器的可用配置参数:

表 2. 链内的路由器

属性路由器header value routerxpath 路由器payload type router收件人列表路由器异常类型路由器
apply-sequencetickmarktickmarktickmarktickmarktickmarktickmark
default-output-channeltickmarktickmarktickmarktickmarktickmarktickmark
resolution-requiredtickmarktickmarktickmarktickmarktickmarktickmark
ignore-send-failurestickmarktickmarktickmarktickmarktickmarktickmark
超时tickmarktickmarktickmarktickmarktickmarktickmark
id
自动启动
输入通道
order
methodtickmark
reftickmark
表达式tickmark
header-nametickmark
evaluate-as-stringtickmark
xpath-expression-reftickmark
转换器tickmark
important

自 Spring Integration 2.1 起,所有路由器实现中的路由器参数已更加标准化。因此,一些细微的更改可能会破坏基于旧版本 Spring Integration 的应用程序。

自 Spring Integration 2.1 起,ignore-channel-name-resolution-failures 属性已被移除,其功能已整合到 resolution-required 属性中。同时,resolution-required 属性现在默认值为 true

在这些更改之前,resolution-required 属性默认值为 false,这导致当没有解析到通道且未设置 default-output-channel 时,消息会被静默丢弃。新的行为要求至少有一个解析到的通道,并且默认情况下,如果未确定任何通道(或发送尝试未成功),则会抛出 MessageDeliveryException

如果您确实希望静默丢弃消息,可以设置 default-output-channel="nullChannel"