分割器
要创建分割器,请使用 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<?> 参数。