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