solon-flow-eval-beetl
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-flow-eval-beetl</artifactId>
</dependency>
1、描述
(v3.1.2 后支持)流处理扩展插件。在 Solon Flow 基础上提供 beetl (BSD 许可协议)表达式与脚本适配:
- BeetlEvaluation
2、应用示例
简单配置样例
# classpath:flow/f1.yml
id: f1
layout:
- task: |
context.result = a + b;
when: a > b
注解模式应用
@Configuration
public class MagicEvaluationTest {
//构建新的驱动器,替代旧的(可以反复替代)
@Bean
public FlowDriver flowDriver(){
return new SimpleFlowDriver(new BeetlEvaluation());
}
@Init
public void case1() throws Throwable {
FlowContext context = new FlowContext();
context.put("a", 1);
context.put("b", 2);
engine.eval("f1", context);
System.out.println(context.result);
assert context.result == null;
}
}
原生 Java 模式应用
public class BeetlEvaluationTest {
@Test
public void case1() throws Throwable {
FlowEngine engine = FlowEngine.newInstance();
engine.register(new SimpleFlowDriver(new BeetlEvaluation()));
engine.load("classpath:flow/*.yml");
FlowContext context = new FlowContext();
context.put("a", 1);
context.put("b", 2);
engine.eval("f1", context);
System.out.println(context.result);
assert context.result == null;
}
}