1
0
Эх сурвалжийг харах

尝试解决可能因为ForkJoinPool引起的决策路由空指针的问题

everywhere.z 4 сар өмнө
parent
commit
48126c12f2

+ 4 - 2
liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java

@@ -586,7 +586,8 @@ public class FlowExecutor {
 		List<Tuple> routeTupleList = new ArrayList<>();
 		for (Chain routeChain : routeChainList){
 			CompletableFuture<Slot> f = CompletableFuture.supplyAsync(
-					() -> doExecute(routeChain.getChainId(), param, finalRequestId, contextBeanClazzArray, contextBeanArray, null, InnerChainTypeEnum.NONE, ChainExecuteModeEnum.ROUTE)
+                    () -> doExecute(routeChain.getChainId(), param, finalRequestId, contextBeanClazzArray, contextBeanArray, null, InnerChainTypeEnum.NONE, ChainExecuteModeEnum.ROUTE),
+					ExecutorHelper.loadInstance().buildWhenExecutor()
 			);
 
 			routeTupleList.add(new Tuple(routeChain, f));
@@ -622,7 +623,8 @@ public class FlowExecutor {
 		List<CompletableFuture<Slot>> executeChainCfList = new ArrayList<>();
 		for (Chain chain : matchedRouteChainList){
 			CompletableFuture<Slot> cf = CompletableFuture.supplyAsync(
-					() -> doExecute(chain.getChainId(), param, finalRequestId, contextBeanClazzArray, contextBeanArray, null, InnerChainTypeEnum.NONE, ChainExecuteModeEnum.BODY)
+					() -> doExecute(chain.getChainId(), param, finalRequestId, contextBeanClazzArray, contextBeanArray, null, InnerChainTypeEnum.NONE, ChainExecuteModeEnum.BODY),
+					ExecutorHelper.loadInstance().buildWhenExecutor()
 			);
 			executeChainCfList.add(cf);
 		}

+ 1 - 1
pom.xml

@@ -39,7 +39,7 @@
 	</scm>
 
 	<properties>
-		<revision>2.12.4.3</revision>
+		<revision>2.12.4.5</revision>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 		<maven.compiler.source>8</maven.compiler.source>