如何使用春云流3.x的新功能绑定样式设置拆分器?



我正试图了解Spring Cloud Stream 3.x/中的新功能绑定器

在传统风格中,我有一个@StreamListener,它接收一条消息,然后可能在其输出上产生0..n条消息:

@StreamListener(Channels.INPUT)
public void handle(@Valid @Payload Payload payload) {
// do stuff, then send multiple messages to the output channel:
channels.output().send(result); // Do this 0..n times
}

在新的函数式风格中,我将定义一个bean,而不是监听器:

@Bean
public Function<Payload, Result> processPayload() {
return value -> {
System.out.println("Received: " + payload);
// do stuff
return result; // (only one?)
};
}
  1. 如果我想返回0..nResult以响应单个接收到的Payload,我应该如何定义函数bean?(这是一个拆分器!(
  2. 我能够使用@Valid来触发遗留设置的bean验证。在功能领域中是否有类似的简写,或者我是否可以实例化自己的Validator

使用Consumer<Payload>而不是FunctionStreamBridge

此处提供文档。

最新更新