我正试图了解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?)
};
}
- 如果我想返回0..n
Result
以响应单个接收到的Payload
,我应该如何定义函数bean?(这是一个拆分器!( - 我能够使用
@Valid
来触发遗留设置的bean验证。在功能领域中是否有类似的简写,或者我是否可以实例化自己的Validator
使用Consumer<Payload>
而不是Function
和StreamBridge
。
此处提供文档。