mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-15 04:22:09 +08:00
Merge branch 'pr_10' into v2.5.0-SNAPSHOT
# Conflicts: # liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Chain.java # liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/ParallelCallable.java # liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java # liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowMainAutoConfiguration.java
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package com.yomahub.liteflow.springboot;
|
||||
|
||||
import com.yomahub.liteflow.property.LiteflowConfig;
|
||||
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.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
/**
|
||||
* 线程池装配类
|
||||
* 这个装配前置条件是需要LiteflowConfig,LiteflowPropertyAutoConfiguration以及SpringAware
|
||||
* @author justin.xu
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnBean(LiteflowConfig.class)
|
||||
@AutoConfigureAfter({LiteflowPropertyAutoConfiguration.class})
|
||||
public class LiteflowExecutorAutoConfiguration {
|
||||
|
||||
@Bean("whenExecutors")
|
||||
public ExecutorService executorService(LiteflowConfig liteflowConfig) {
|
||||
Integer useWorker = liteflowConfig.getWhenMaxWorkers();
|
||||
Integer useQueue = liteflowConfig.getWhenQueueLimit();
|
||||
return ExecutorHelper.buildExecutor(useWorker, useQueue, "liteflow-when-thead", false);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Shutdown shutdown() {
|
||||
return new Shutdown();
|
||||
}
|
||||
}
|
||||
@@ -1,17 +1,25 @@
|
||||
package com.yomahub.liteflow.springboot;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.yomahub.liteflow.core.FlowExecutor;
|
||||
import com.yomahub.liteflow.entity.data.DataBus;
|
||||
import com.yomahub.liteflow.monitor.MonitorBus;
|
||||
import com.yomahub.liteflow.property.LiteflowConfig;
|
||||
import com.yomahub.liteflow.spring.ComponentScaner;
|
||||
import com.yomahub.liteflow.util.SpringAware;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
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;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 主要的业务装配器
|
||||
@@ -21,7 +29,7 @@ import org.springframework.context.annotation.Import;
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnBean(LiteflowConfig.class)
|
||||
@AutoConfigureAfter(LiteflowPropertyAutoConfiguration.class)
|
||||
@AutoConfigureAfter({LiteflowPropertyAutoConfiguration.class})
|
||||
@Import(SpringAware.class)
|
||||
public class LiteflowMainAutoConfiguration {
|
||||
|
||||
|
||||
@@ -18,6 +18,12 @@ public class LiteflowProperty {
|
||||
//异步线程最大等待描述
|
||||
private int whenMaxWaitSeconds;
|
||||
|
||||
//异步线程池最大线程数
|
||||
private int whenMaxWorkers;
|
||||
|
||||
//异步线程池最大队列数量
|
||||
private int whenQueueLimit;
|
||||
|
||||
public String getRuleSource() {
|
||||
return ruleSource;
|
||||
}
|
||||
@@ -41,4 +47,20 @@ public class LiteflowProperty {
|
||||
public void setWhenMaxWaitSeconds(int whenMaxWaitSeconds) {
|
||||
this.whenMaxWaitSeconds = whenMaxWaitSeconds;
|
||||
}
|
||||
|
||||
public int getWhenMaxWorkers() {
|
||||
return whenMaxWorkers;
|
||||
}
|
||||
|
||||
public void setWhenMaxWorkers(int whenMaxWorkers) {
|
||||
this.whenMaxWorkers = whenMaxWorkers;
|
||||
}
|
||||
|
||||
public int getWhenQueueLimit() {
|
||||
return whenQueueLimit;
|
||||
}
|
||||
|
||||
public void setWhenQueueLimit(int whenQueueLimit) {
|
||||
this.whenQueueLimit = whenQueueLimit;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ public class LiteflowPropertyAutoConfiguration {
|
||||
liteflowConfig.setQueueLimit(liteflowMonitorProperty.getQueueLimit());
|
||||
liteflowConfig.setDelay(liteflowMonitorProperty.getDelay());
|
||||
liteflowConfig.setPeriod(liteflowMonitorProperty.getPeriod());
|
||||
liteflowConfig.setWhenMaxWorkers(property.getWhenMaxWorkers());
|
||||
liteflowConfig.setWhenQueueLimit(property.getWhenQueueLimit());
|
||||
return liteflowConfig;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user