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