For the latest stable version, please use Spring Integration 6.3.2! |
Overview
Routers are a crucial element in many messaging architectures. They consume messages from a message channel and forward each consumed message to one or more different message channels depending on a set of conditions.
Spring Integration provides the following routers:
Router implementations share many configuration parameters. However, certain differences exist between routers. Furthermore, the availability of configuration parameters depends on whether routers are used inside or outside a chain. In order to provide a quick overview, all available attributes are listed in the two following tables .
The following table shows the configuration parameters available for a router outside a chain:
Attribute | router | header value router | xpath router | payload type router | recipient list route | exception type router |
---|---|---|---|---|---|---|
apply-sequence |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
default-output-channel |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
resolution-required |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ignore-send-failures |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
timeout |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
id |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
auto-startup |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
input-channel |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
order |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
method |
![]() |
|||||
ref |
![]() |
|||||
expression |
![]() |
|||||
header-name |
![]() |
|||||
evaluate-as-string |
![]() |
|||||
xpath-expression-ref |
![]() |
|||||
converter |
![]() |
The following table shows the configuration parameters available for a router inside a chain:
Attribute | router | header value router | xpath router | payload type router | recipient list router | exception type router |
---|---|---|---|---|---|---|
apply-sequence |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
default-output-channel |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
resolution-required |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ignore-send-failures |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
timeout |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
id |
||||||
auto-startup |
||||||
input-channel |
||||||
order |
||||||
method |
![]() |
|||||
ref |
![]() |
|||||
expression |
![]() |
|||||
header-name |
![]() |
|||||
evaluate-as-string |
![]() |
|||||
xpath-expression-ref |
![]() |
|||||
converter |
![]() |
As of Spring Integration 2.1, router parameters have been more standardized across all router implementations. Consequently, a few minor changes may break older Spring Integration based applications. Since Spring Integration 2.1, the Prior to these changes, the If you do desire to drop messages silently, you can set |