拆分器
要创建拆分器,请使用split()
EIP 方法。默认情况下,如果有效负载是Iterable
、Iterator
、Array
、Stream
或反应式Publisher
,则split()
方法会将每个项目输出为单独的消息。它接受 lambda、SpEL 表达式或任何AbstractMessageSplitter
实现。或者,您也可以在不带参数的情况下使用它来提供DefaultMessageSplitter
。以下示例展示了如何通过提供 lambda 来使用splitWith()
方法。
@Bean
public IntegrationFlow splitFlow() {
return IntegrationFlow.from("splitInput")
.splitWith(s -> s.applySequence(false).delimiters(","))
.channel(MessageChannels.executor(taskExecutor()))
.get();
}
前面的示例创建了一个拆分器,它会拆分包含逗号分隔String
的消息。
另请参阅 Lambdas 和Message<?>
参数。