From ead238e5d238a9a9009ea94677462df6be0a83b4 Mon Sep 17 00:00:00 2001 From: bryan31 Date: Fri, 16 Jul 2021 19:32:54 +0800 Subject: [PATCH] =?UTF-8?q?enhancement=20#I413PU=20=E5=A2=9E=E5=8A=A0litef?= =?UTF-8?q?low.enable=E5=8F=82=E6=95=B0=EF=BC=8C=E6=9D=A5=E6=A0=87?= =?UTF-8?q?=E8=AE=B0=E6=98=AF=E5=90=A6=E8=87=AA=E5=8A=A8=E8=A3=85=E9=85=8D?= =?UTF-8?q?liteflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/property/LiteflowConfig.java | 17 +++++++++++++++++ .../LiteflowExecutorAutoConfiguration.java | 4 +++- .../LiteflowMainAutoConfiguration.java | 3 ++- .../liteflow/springboot/LiteflowProperty.java | 11 +++++++++++ .../LiteflowPropertyAutoConfiguration.java | 2 ++ .../META-INF/liteflow-default.properties | 1 + 6 files changed, 36 insertions(+), 2 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java b/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java index ffa13e479..2718da2a1 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java @@ -18,6 +18,11 @@ import cn.hutool.core.util.ObjectUtil; */ public class LiteflowConfig { + /** + * 是否启动liteflow自动装配 + */ + private Boolean enable; + //流程定义资源地址 private String ruleSource; @@ -49,6 +54,18 @@ public class LiteflowConfig { //这个参数主要给编码式注册元数据的场景用的,结合FlowBus.addNode一起用 private Boolean parseOnStart; + public Boolean getEnable() { + if (ObjectUtil.isNull(enable)){ + return true; + }else{ + return enable; + } + } + + public void setEnable(Boolean enable) { + this.enable = enable; + } + public String getRuleSource() { return ruleSource; } diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowExecutorAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowExecutorAutoConfiguration.java index 7c81f3cb2..ec7ab9c71 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowExecutorAutoConfiguration.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowExecutorAutoConfiguration.java @@ -5,6 +5,7 @@ import com.yomahub.liteflow.util.ExecutorHelper; import com.yomahub.liteflow.util.Shutdown; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -16,8 +17,9 @@ import java.util.concurrent.ExecutorService; * @author justin.xu */ @Configuration -@ConditionalOnBean(LiteflowConfig.class) @AutoConfigureAfter({LiteflowPropertyAutoConfiguration.class}) +@ConditionalOnProperty(prefix = "liteflow", name = "enable", havingValue = "true") +@ConditionalOnBean(LiteflowConfig.class) public class LiteflowExecutorAutoConfiguration { @Bean("whenExecutors") diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowMainAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowMainAutoConfiguration.java index dc03c0156..459f7420f 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowMainAutoConfiguration.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowMainAutoConfiguration.java @@ -19,8 +19,9 @@ import org.springframework.context.annotation.Import; * @author Bryan.Zhang */ @Configuration -@ConditionalOnBean(LiteflowConfig.class) @AutoConfigureAfter({LiteflowPropertyAutoConfiguration.class}) +@ConditionalOnBean(LiteflowConfig.class) +@ConditionalOnProperty(prefix = "liteflow", name = "enable", havingValue = "true") @Import(SpringAware.class) public class LiteflowMainAutoConfiguration { diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java index 1eebe7480..c1eae9961 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java @@ -9,6 +9,9 @@ import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "liteflow", ignoreUnknownFields = true) public class LiteflowProperty { + //是否装配liteflow + private boolean enable; + //流程定义资源地址 private String ruleSource; @@ -28,6 +31,14 @@ public class LiteflowProperty { //这个参数主要给编码式注册元数据的场景用的,结合FlowBus.addNode一起用 private boolean parseOnStart; + public boolean isEnable() { + return enable; + } + + public void setEnable(boolean enable) { + this.enable = enable; + } + public String getRuleSource() { return ruleSource; } diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowPropertyAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowPropertyAutoConfiguration.java index 802bc2d84..35c2b78ab 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowPropertyAutoConfiguration.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowPropertyAutoConfiguration.java @@ -1,6 +1,7 @@ package com.yomahub.liteflow.springboot; import com.yomahub.liteflow.property.LiteflowConfig; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -32,6 +33,7 @@ public class LiteflowPropertyAutoConfiguration { liteflowConfig.setWhenMaxWorkers(property.getWhenMaxWorkers()); liteflowConfig.setWhenQueueLimit(property.getWhenQueueLimit()); liteflowConfig.setParseOnStart(property.isParseOnStart()); + liteflowConfig.setEnable(property.isEnable()); return liteflowConfig; } } diff --git a/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties b/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties index 3ab95331f..4adc76792 100644 --- a/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties +++ b/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties @@ -1,3 +1,4 @@ +liteflow.enable=true liteflow.rule-source=config/flow.xml liteflow.slot-size=1024 liteflow.when-max-wait-seconds=15