Solon v2.7.6

FaaS - 执行器与加载器

</> markdown

v2.6.3 后支持

1、Luffy 的函数执行器

插件会通过后缀名,自动匹配不同的执行器(使用其它 js 执行器时,需要排除掉默认的)。另外,不同的持行器,会有不同的环境要求。这个需要注意:

执行器函数后缀名描述备注
luffy.executor.s.javascript.jsjavascript 代码执行器(支持 jdk8, jdk11)默认集成
luffy.executor.s.graaljs.jsjavascript 代码执行器
luffy.executor.s.nashorn.jsjavascript 代码执行器(支持 jdk17, jdk21)
luffy.executor.s.python.pypython 代码执行器
luffy.executor.s.ruby.rbruby 代码执行器
luffy.executor.s.groovy.groovygroovy 代码执行器
luffy.executor.s.lua.lualua 代码执行器
luffy.executor.m.freemarker.ftlfreemarker 模板执行器
luffy.executor.m.velocity.vmvelocity 模板执行器
luffy.executor.m.thymeleaf.thythymeleaf 模板执行器
luffy.executor.m.beetl.btlbeetl 模板执行器
luffy.executor.m.enjoy.enjenjoy 模板执行器

添加执行器依赖,示例:

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>luffy.executor.m.freemarker</artifactId>
    <version>${luffy.version}</version>
</dependency>

添加函数文件(注意,函数后缀名 ):src/main/resources/luffy/hello.ftl

<#assign name=ctx.param('name','world') />
<!doctype html>
<html>
<body>
    Hello ${name!}!
</body>
</html>

运行后,浏览器打开:http://localhost:8080/hello.ftl?name=solon

输出:"Hello solon!"

2、Solon Luffy 的函数加载器

函数加载器,是 Solon 适配时定制的接口。

加载器描述备注
JtFunctionLoader函数加载器接口用于定制
JtFunctionLoaderClasspath资源目录的函数加载器默认自带(可以去掉)
JtFunctionLoaderDebug资源目录的函数加载器 - debug 模式
JtFunctionLoaderFile外部文件的函数加载器
JtFunctionLoaderManager函数加载管理器