工作流脚本引擎
脚本引擎缓存
每当流程引擎到达必须执行脚本的位置时,流程引擎就会通过语言名称查找脚本引擎。默认行为是,如果它是第一个请求,则会创建一个新的脚本引擎。如果脚本引擎声明为线程安全的,则还将对其进行缓存。缓存可防止流程引擎为使用相同脚本语言的每个请求创建新的脚本引擎。
默认情况下,脚本引擎的缓存发生在流程应用程序级别。每个流程应用程序都拥有给定语言的脚本引擎实例。可以通过将流程引擎配置标志设置enableFetchScriptEngineFromProcessApplication为false 来禁用此行为。因此,脚本引擎在流程引擎级别全局缓存,并且在每个流程应用程序之间共享。有关流程引擎配置标志的更多详细信息enableFetchScriptEngineFromProcessApplication,请阅读有关引用流程应用程序类的部分。
如果通常不希望缓存脚本引擎,则可以通过将流程引擎配置标志名称设置enableScriptEngineCaching为false 来禁用它。
脚本编译
大多数脚本引擎在执行脚本之前都会将脚本源代码编译为Java类或其他中间格式。实现Java Compilable 接口的脚本引擎允许程序检索和缓存脚本编译。流程引擎的默认设置是检查脚本引擎是否支持编译功能。如果为true且启用了脚本引擎缓存,则脚本引擎将编译脚本,然后缓存编译结果。这样可以防止流程引擎在每次执行相同脚本任务时编译脚本源。
默认情况下,脚本编译处于启用状态。如果需要禁用脚本编译,可以将流程引擎配置标志设置为enableScriptCompilationfalse。
加载脚本引擎
如果命名的流程引擎配置标志enableFetchScriptEngineFromProcessApplication设置为true,则还可以从流程应用程序的类路径中加载脚本引擎。为此,脚本引擎可以打包为流程应用程序中的库。也可以全局安装脚本引擎。
如果应该全局安装脚本引擎模块并使用JBoss,则必须向脚本引擎添加模块依赖性。这可以通过将a添加jboss-deployment-structure.xml到流程应用程序中来完成,例如:
<?xml version="1.0" encoding="UTF-8"?><jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.codehaus.groovy.groovy-all"
services="import" />
</dependencies>
</deployment></jboss-deployment-structure>
技术支持:盘古BPM工作流平台
相关教程
- 2020-05-08
- 2020-05-08
- 2020-05-07
- 2020-05-06
- 2020-05-05
- 2020-04-29
- 2020-04-28
- 2020-04-27
- 2020-04-26
- 2020-04-25