提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、@LiteflowComponent注解
这个注解,从源码来看,是Component注解的扩展,有两个属性:id和name
id:对应的是bean的名称、node的id
name:该node的别名
二、使用步骤
@LiteflowComponent(id = "a", name = "组件A")
public class ACmp extends NodeComponent {
@Override
public void process() {
System.out.println("ACmp executed!");
}
}
等同于在配置文件里添加标签属性
<node id="a" name="组件A" class="com.yomahub.liteflow.test.config.cmp.ACmp"/>
<node id="b" name="组件B" class="com.yomahub.liteflow.test.config.cmp.BCmp"/>
到这里,可能有的人要问了,别名在哪里使用呢?
liteflow在输出日志的时候,也会输出别名,而且别名比id更好理解,更容易识别。
下边给一个例子,看看别名输出的效果
2024-02-23 17:03:16.829|INFO|main|127.0.0.1|777500508e514c2d911d208425d9f555|1.0|com.yomahub.liteflow.core.FlowExecutor.info[193]|[40de33d3b4694d4abe78a354785eae7b]:slot[0] offered
2024-02-23 17:03:16.829|INFO|main|127.0.0.1|777500508e514c2d911d208425d9f555|1.0|com.yomahub.liteflow.flow.element.Node.info[193]|[40de33d3b4694d4abe78a354785eae7b]:[O]start component[nodeB(我是别名)] execution
NodeB executed
2024-02-23 17:03:16.836|INFO|main|127.0.0.1|777500508e514c2d911d208425d9f555|1.0|com.finance.micro.api.liteflow.NodeB.info[200]|[40de33d3b4694d4abe78a354785eae7b]:component[nodeB(我是别名)] finished in 2 milliseconds
我们能看到nodeB后边跟着别名,这样从语义上就非常好理解了。
总结
每天进步一点点!