mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 12:12:08 +08:00
优化MonitorBus的设值时机
This commit is contained in:
@@ -6,8 +6,10 @@ import com.yomahub.liteflow.annotation.LiteflowRetry;
|
||||
import com.yomahub.liteflow.annotation.util.AnnoUtil;
|
||||
import com.yomahub.liteflow.entity.executor.NodeExecutor;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import com.yomahub.liteflow.monitor.MonitorBus;
|
||||
import com.yomahub.liteflow.property.LiteflowConfig;
|
||||
import com.yomahub.liteflow.property.LiteflowConfigGetter;
|
||||
import com.yomahub.liteflow.spi.holder.ContextAwareHolder;
|
||||
import com.yomahub.liteflow.spi.holder.LiteflowComponentSupportHolder;
|
||||
|
||||
/**
|
||||
@@ -31,6 +33,12 @@ public class ComponentInitializer {
|
||||
nodeComponent.setSelf(nodeComponent);
|
||||
nodeComponent.setType(type);
|
||||
|
||||
//设置MonitorBus,如果没有就不注入
|
||||
MonitorBus monitorBus = ContextAwareHolder.loadContextAware().getBean(MonitorBus.class);
|
||||
if(ObjectUtil.isNotNull(monitorBus)){
|
||||
nodeComponent.setMonitorBus(monitorBus);
|
||||
}
|
||||
|
||||
//先取传进来的name值(配置文件中配置的),再看有没有配置@LiteflowComponent标注
|
||||
//@LiteflowComponent标注只在spring体系下生效,这里用了spi机制取到相应环境下的实现类
|
||||
nodeComponent.setName(desc);
|
||||
|
||||
@@ -69,7 +69,6 @@ public abstract class NodeComponent{
|
||||
private final TransmittableThreadLocal<Boolean> isEndTL = new TransmittableThreadLocal<>();
|
||||
|
||||
public NodeComponent() {
|
||||
monitorBus = ContextAwareHolder.loadContextAware().getBean(MonitorBus.class);
|
||||
}
|
||||
|
||||
public void execute() throws Exception{
|
||||
@@ -231,4 +230,12 @@ public abstract class NodeComponent{
|
||||
public void setCondNodeMap(Map<String, Executable> condNodeMap){
|
||||
this.condNodeMapTL.set(condNodeMap);
|
||||
}
|
||||
|
||||
public MonitorBus getMonitorBus() {
|
||||
return monitorBus;
|
||||
}
|
||||
|
||||
public void setMonitorBus(MonitorBus monitorBus) {
|
||||
this.monitorBus = monitorBus;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,4 +96,8 @@ public class MonitorBus {
|
||||
public void setLiteflowConfig(LiteflowConfig liteflowConfig) {
|
||||
this.liteflowConfig = liteflowConfig;
|
||||
}
|
||||
|
||||
public void closeScheduler(){
|
||||
this.printLogScheduler.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user