ExpressionFactory 支持flowable 内部函数
时间: 2024-03-13 11:47:43 浏览: 96
ExpressionFactory 是一个用于解析表达式的工厂类,Flowable 内置函数的调用可以通过在表达式中使用 ExpressionFactory 来实现。
以下是 ExpressionFactory 如何支持 Flowable 内置函数的示例:
1. 创建 ExpressionFactory 对象
```
ExpressionFactory expressionFactory = new ExpressionFactoryImpl();
```
2. 创建 Expression 对象
```
Expression expression = expressionFactory.createExpression(expressionString);
```
其中,expressionString 表示包含 Flowable 内置函数调用的表达式字符串。
3. 在表达式中调用 Flowable 内置函数
在表达式中调用 Flowable 内置函数的语法为:`fn:functionName(arg1, arg2, ...)`,其中 functionName 表示要调用的函数名,arg1、arg2 等表示函数的参数。
例如,要在表达式中调用 Flowable 内置函数 min(),可以使用以下语法:
```
fn:min(1, 2, 3)
```
这将返回参数中的最小值。
需要注意的是,使用 ExpressionFactory 调用 Flowable 内置函数时,必须先启用变量支持,即在流程引擎配置中设置 `enableProcessDefinitionInfoCache` 和 `enableVariableSupport` 为 true。例如:
```
ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration()
.setJdbcUrl("jdbc:h2:mem:flowable;DB_CLOSE_DELAY=1000")
.setJdbcUsername("sa")
.setJdbcPassword("")
.setJdbcDriver("org.h2.Driver")
.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE)
.setAsyncExecutorActivate(false)
.setEnableProcessDefinitionInfoCache(true)
.setEnableVariableSupport(true);
ProcessEngine processEngine = cfg.buildProcessEngine();
```
这样,就可以使用 ExpressionFactory 来调用 Flowable 内置函数了。
阅读全文