⚙️配置
# 定义你的组件
你需要定义并实现一些组件,确保Spring会扫描到这些组件并注册进上下文
@Component("a")
public class ACmp extends NodeComponent {
    @Override
    public void process() {
        //do your business
    }
}
以此类推再分别定义b,c组件:
@Component("b")
public class BCmp extends NodeComponent {
	@Override
	public void process() {
		//do your business
	}
}
@Component("c")
public class CCmp extends NodeComponent {
	@Override
	public void process() {
		//do your business
	}
}
# Spring xml中的配置
<context:component-scan base-package="com.yomahub.flowtest.components" />
<bean id="springAware" class="com.yomahub.liteflow.spi.spring.SpringAware"/>
<bean class="com.yomahub.liteflow.spring.ComponentScanner"/>
<bean id="liteflowConfig" class="com.yomahub.liteflow.property.LiteflowConfig">
    <property name="ruleSource" value="config/flow.el.xml"/>
</bean>
<bean id="flowExecutor" class="com.yomahub.liteflow.core.FlowExecutor">
    <property name="liteflowConfig" ref="liteflowConfig"/>
</bean>
<!-- 如果上述enableLog为false,下面这段也可以省略 -->
<bean class="com.yomahub.liteflow.monitor.MonitorBus">
    <property name="liteflowConfig" ref="liteflowConfig"/>
</bean>
注意
规则文件须定义成xxxx.el.xml的形式,如果你定义成了xxxx.xml的形式,那是基于旧的规则模式。EL形式的规则将不生效。
更多配置项请参考配置项章节。
# 规则文件的定义
同时,你得在resources的config/flow.el.xml中如下配置:
<?xml version="1.0" encoding="UTF-8"?>
<flow>
    <chain name="chain1">
        THEN(a, b, c)
    </chain>
</flow>
Spring在启动时会自动装载规则文件。
帮助我们改善此文档  (opens new window)
  上次更新: 2022/10/07, 00:22:18
 

