![](/img/trans.png)
[英]How to compose json responses from two different controllers? Spring 3/Jackson
[英]Spring cloud stream merge responses from two different functions
我正在尝试使用 spring 云 stream 来解决以下问题:
我有一个 class 调用两个单独的函数(函数 A 和 B),如果 886982359588 A 完成,这两个函数必须并行工作,它必须调用 Function C,如果 Function B 完成,也会发生同样的情况,但这将调用 888698882359然后我需要等待 Function C 和 Function D 完成并将两个响应合并为一个响应,然后将此合并响应 object 返回到必须等待获得该响应的起始 class。
我遇到的问题是:
streamBridge.send
同时启动 Function A 和 Function B。我正在使用
spring-cloud-stream-3.1.3
spring-cloud-stream-binder-rabbit
必需我不能使用Kafka
必需
示例代码
服务等级
@Service
@RequiredArgsConstructor
public class ServiceClass {
@NonNull
private final StreamBridge streamBridge;
@Override
protected MergedResponse execute(Input input) {
var send1 = streamBridge.send("functionA-in-0", input);
var send2 = streamBridge.send("functionB-in-0", input);
//TODO: Wait for Function E response object
}
}
Function 一
@Slf4j
@Configuration
public class FunctionAClass{
@Bean
public Function<Input, OutputFunctionA> functionA() {
return input -> {
//TODO: Invoke Function C to pass OutputFunctionA object
return OutputFunctionA.builder.build();
};
}
}
我不介意使用Supplier
或Consumer
而不是Function
。
编辑你好,@Oleg Zhurakousky 感谢你的帮助,回答你的问题我的问题是:我必须创建一个 REST 端点,它使用N
个不同的第三方 REST 端点(首先是两个,异步是必须的,因为它太慢了顺序处理每个请求)我不需要他们的所有数据,只需要几个字段来构建一个通用的 object。我打算使用streamBridge
启动前两个函数,这些函数将为每个三分之一构建所需的请求-party,然后是一个 function 来调用他们的每个端点,然后是一个 function 来为每个响应构建一个公共的 object,最后是一个 function 来收集公共对象并将它们发送到我的服务的响应中。 如果您还有其他问题,请告诉我。
问候。
几点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.