feature #IAJD9H 期望liteflow 有自己的生命周期扩展

This commit is contained in:
everywhere.z
2024-10-11 00:22:36 +08:00
parent b32b34f919
commit 0698f100c5
37 changed files with 506 additions and 23 deletions

View File

@@ -1,6 +1,7 @@
package com.yomahub.liteflow.solon.config;
import com.yomahub.liteflow.core.FlowExecutor;
import com.yomahub.liteflow.flow.FlowBus;
import com.yomahub.liteflow.property.LiteflowConfig;
import org.noear.solon.annotation.Configuration;
import org.noear.solon.annotation.Init;
@@ -37,6 +38,7 @@ public class LiteflowMainAutoConfiguration {
if (parseOnStart) {
flowExecutor.init(true);
FlowBus.needInit();
}
appContext.wrapAndPut(FlowExecutor.class, flowExecutor);

View File

@@ -6,6 +6,8 @@ import com.yomahub.liteflow.core.NodeComponent;
import com.yomahub.liteflow.core.proxy.DeclWarpBean;
import com.yomahub.liteflow.core.proxy.LiteFlowProxyUtil;
import com.yomahub.liteflow.flow.FlowBus;
import com.yomahub.liteflow.lifecycle.LifeCycle;
import com.yomahub.liteflow.lifecycle.LifeCycleHolder;
import com.yomahub.liteflow.solon.config.LiteflowAutoConfiguration;
import com.yomahub.liteflow.solon.config.LiteflowMainAutoConfiguration;
import com.yomahub.liteflow.solon.config.LiteflowMonitorProperty;
@@ -46,11 +48,16 @@ public class XPluginImpl implements Plugin {
context.beanMake(LiteflowAutoConfiguration.class);
context.beanMake(LiteflowMainAutoConfiguration.class);
// 订阅生命周期实现类
context.subWrapsOfType(LifeCycle.class, bw -> {
LifeCycle lifeCycle = bw.raw();
LifeCycleHolder.addLifeCycle(lifeCycle);
});
// 订阅 NodeComponent 组件
context.subWrapsOfType(NodeComponent.class, bw -> {
NodeComponent node1 = bw.raw();
node1.setNodeId(bw.name());
FlowBus.addManagedNode(bw.name(), bw.raw());
});