Splitters
若要创建分隔符,请使用 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
的消息进行拆分。
另见 xref:dsl/java-basics.adoc#java-dsl-class-cast[Lambdas And Message<?>
参数。