🍉组件参数
LiteFlow从v2.9.0开始支持了组件参数特性,你可以在EL语法中来给组件设置外置参数。
这对于相同组件的编排是非常有用的特性。
你可以使用data
关键字来给某个组件设置外置参数,建议最好是JSON格式:
<flow>
<chain name="chain1">
cmpData = '{"name":"jack","age":27,"birth":"1995-10-01"}';
THEN(a, b.data(cmpData), c);
</chain>
<chain name="chain2">
cmpData = '{"name":"rose","age":20,"birth":"1997-07-01"}';
WHEN(c, b.data(cmpData));
</chain>
</flow>
上述表达式中,同一个b组件,在不同的chain中被赋予了不同的外置参数,运行中在组件中通过getCmpData
方法也能拿到相应的参数。
这个方法是可以返回对应结构的java对象的,只要传入相对应的class即可。
@Component("b")
public class BCmp extends NodeComponent {
@Override
public void process() {
User user = this.getCmpData(User.class);
...
}
}
上述的例子中,如果参数长度等于1 :cmpData = '3'
,会转换成Character
,可以改成用双引号包裹cmpData = "3"
帮助我们改善此文档 (opens new window)
上次更新: 2023/08/30, 16:27:37