🍫选择脚本语言
LiteFlow框架目前一共支持5种脚本语言:Groovy,Javascript,QLExpress,Python,Lua
LiteFlow采用SPI机制进行选择脚本框架来动态编译你的脚本。
官方推荐使用Groovy
,因为和java语法是最接近的。
如果你不熟悉这5种脚本语言的语法。可以参照以下教程:
Javascript语法教程 (opens new window)
QLExpress语法教程 (opens new window)
Groovy脚本,你需要额外依赖:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-groovy</artifactId>
<version>2.9.7</version>
</dependency>
对于Javascript脚本,你有两种引擎可以选择,一种是基于jdk的js引擎实现,只支持ES5。另一种是基于GraalJs引擎实现,支持ES6。
官方建议,如果是简单的逻辑,就采用jdk引擎的,如果是复杂的,需要用ES6特性的,就用GraalJs引擎。
顺便说下,jdk引擎并不支持java 17,而GraalJs引擎是能支持到java 17的。
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-javascript</artifactId>
<version>2.9.7</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-graaljs</artifactId>
<version>2.9.7</version>
</dependency>
QLExpress脚本,你需要额外依赖:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-qlexpress</artifactId>
<version>2.9.7</version>
</dependency>
Python脚本,你需要额外依赖:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-python</artifactId>
<version>2.9.7</version>
</dependency>
Lua脚本,你需要额外依赖:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-lua</artifactId>
<version>2.9.7</version>
</dependency>
提示
在lua中,调用java方式是用:
来调用的,并不是.
,比如defaultContext:setData("s1",a*b)
。
警告
因为是基于SPI方式实现的,5种脚本语言插件只能5选1。LiteFlow不支持多个脚本分别使用不同的脚本。这点要注意下。
你只需要依赖相应的脚本框架即可,SPI会动态选择你依赖的脚本框架进行编译解析你的脚本。
LiteFlow对所有的脚本在启动时就进行了预编译,所以每次执行时无需编译的,运行性能和java不会差别太多。
帮助我们改善此文档 (opens new window)
上次更新: 2023/03/17, 01:44:42