🍱多脚本语言混合共存
LiteFlow从2.10.0开始,支持了多脚本语言混合共存的特性。你完全可以在规则文件内用不同的脚本语言书写不同的逻辑。
当然有个前提:你使用了多个脚本,必须引入多个脚本对应的依赖,依赖选项在选择脚本语言有说过。
比如你可以这样定义多个脚本:
<?xml version="1.0" encoding="UTF-8"?>
<flow>
<nodes>
<node id="s1" name="groovy脚本" type="script" language="groovy">
<![CDATA[
class Student {
int studentID
String studentName
}
Student student = new Student()
student.studentID = 100301
student.studentName = "张三"
defaultContext.setData("student", student)
def a = 3
def b = 2
defaultContext.setData("s1", a * b)
]]>
</node>
<node id="s2" name="js脚本" type="script" language="js">
<![CDATA[
var student = defaultContext.getData("student");
student.studentID = 10032;
]]>
</node>
<node id="s3" name="python脚本" type="script" language="python">
<![CDATA[
a = 3
s1 = defaultContext.getData("s1")
defaultContext.setData("s1",s1*a)
]]>
</node>
</nodes>
<chain name="chain1">
THEN(a, s1, b, s2, c, s3);
</chain>
</flow>
以上规则中,其中a,b,c为java组件,s1是groovy组件,s2是javascript组件,s3是python组件。
LiteFlow能非常方便的能进行混合编排,并且实现参数互通。
帮助我们改善此文档 (opens new window)
上次更新: 2023/08/04, 17:02:03