private static List acquireResults()

in core/src/main/java/com/alibaba/smart/framework/engine/bpmn/behavior/gateway/helper/CommonGatewayHelper.java [252:276]


    private static List<ExecutionContext> acquireResults(ExecutionContext context, ProcessEngineConfiguration processEngineConfiguration, Long latchWaitTime, List<Future<ExecutionContext>> futureExecutionResultList) throws TimeoutException {
        ExceptionProcessor exceptionProcessor = processEngineConfiguration.getExceptionProcessor();
        List<ExecutionContext> subThreadExecutionContextList = new ArrayList<>(futureExecutionResultList.size());
        for (Future<ExecutionContext> future : futureExecutionResultList) {
            try {

                if (hasValidLatchWaitTime(latchWaitTime)) {
                    ExecutionContext subThreadExecutionContext = future.get(latchWaitTime, TimeUnit.MILLISECONDS);
                    subThreadExecutionContextList.add(subThreadExecutionContext);
                } else {
                    ExecutionContext subThreadExecutionContext = future.get();
                    subThreadExecutionContextList.add(subThreadExecutionContext);

                }
            } catch (InterruptedException e) {
                exceptionProcessor.process(e, context);
            } catch (ExecutionException e) {
                exceptionProcessor.process(e, context);
            } catch (CancellationException e) {
                throw e;
            }
        }

        return  subThreadExecutionContextList;
    }