Splitters

若要创建分隔符,请使用 split() EIP 方法。默认情况下,如果有效负载为 IterableIteratorArrayStream 或反应式 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<?> 参数。