使用Corda RPC客户端启动多个未跟踪流

使用Corda RPC客户端启动多个未跟踪流,corda,Corda,在一个在批处理过程中加载数据的应用程序中,Corda如何在没有跟踪或观察的情况下并行触发多个流 在RPC客户端上只有两种方法(startFlowDynamic和StartTracketFlowDynamic) 目标是避免不必要的开销并并行运行多个流。使用跟踪流时,Corda会发出有关未使用侦听器的警告:使用starttrackdflowdynamic时出现的警告是因为它返回了几个未使用的可观察的s。正如警告所说,您需要手动关闭未使用的,方法是先订阅,然后再从中订阅,或者使用helper方法net

在一个在批处理过程中加载数据的应用程序中,Corda如何在没有跟踪或观察的情况下并行触发多个流

在RPC客户端上只有两种方法(startFlowDynamic和StartTracketFlowDynamic)


目标是避免不必要的开销并并行运行多个流。使用跟踪流时,Corda会发出有关未使用侦听器的警告:

使用
starttrackdflowdynamic
时出现的警告是因为它返回了几个未使用的
可观察的
s。正如警告所说,您需要手动关闭未使用的,方法是先订阅,然后再从中订阅,或者使用helper方法
net.corda.client.rpc.UtilsKt#notUsed

通过并行运行多个流,您可以执行以下操作:

FlowHandle<Result> flowHandle1 = rpcProxy.startFlowDynamic(ExampleFlow.class, *flow parameters 1*);
FlowHandle<Result> flowHandle2 = rpcProxy.startFlowDynamic(ExampleFlow.class, *flow parameters 2*);
FlowHandle<Result> flowHandle3 = rpcProxy.startFlowDynamic(ExampleFlow.class, *flow parameters 3*);
Arrays.asList(flowHandle1, flowHandle2, flowHandle3).forEach(handle -> {
  handle.getReturnValue().get();
});