1、作业执行器(从版本6.0.0起)
Flowable v5的异步执行程序是Flowable V6中唯一可用的作业执行程序,因为它是在Flowable引擎中执行异步作业的更高性能和更具数据库友好的方式。V6中不再提供Flowable 5的旧作业执行者。更多信息可以在用户指南的高级部分找到。
此外,如果在Java EE 7下运行,ManagedAsyncJobExecutor则可以使用兼容JSR-236 的容器来管理线程。为了启用它们,应该在配置中传递
线程工厂,如下所示:
<bean id="threadFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:jboss/ee/concurrency/factory/default" />
</bean>
<bean id="customJobExecutor" class="org.flowable.engine.impl.jobexecutor.ManagedAsyncJobExecutor">
<!-- ... -->
<property name="threadFactory" ref="threadFactory" />
<!-- ... -->
</bean>
如果未指定线程工厂,则托管实现将回退到其默认对应项。
2、工作执行者激活
这AsyncExecutor是一个管理线程池以激发定时器和其他异步任务的组件。其他实现也是可能的(例如使用消息队列,请参阅用户指南的高级部分)。
默认情况下,AsyncExecutor未激活且未启动。通过以下配置,异步执行程序可以与Flowable Engine一起启动。
<property name="asyncExecutorActivate" value="true" />
asyncExecutorActivate属性指示Flowable引擎在启动时启动Async执行程序。
3、邮件服务器配置
配置邮件服务器是可选的。流动性支持在业务流程中发送电子邮件。要真正发送电子邮件,需要有效的SMTP邮件服务器配置。
4、历史配置
自定义历史存储的配置是可选的。这使您可以调整影响引擎历史记录功能的设置。
<property name="history" value="audit" />
5、异步历史记录配置
[实验]自Flowable 6.1.0以来,添加了异步历史记录功能。启用异步历史记录时,历史数据将由历史作业执行程序持久化,而不是作为运行时执行持久性的一部分的同步持久性。
<property name="asyncHistoryEnabled" value="true" />
7、在表达式和脚本中公开配置bean
默认情况下,您在flowable.cfg.xml配置中或在您自己的Spring配置文件中指定的所有bean 都可用于表达式和脚本。如果要限制配置文件中bean的可见性,则可以配置beans流程引擎配置中调用的属性。beans属性ProcessEngineConfiguration是一张地图。当您指定该属性时,只有该映射中指定的bean才会对表达式和脚本可见。暴露的bean将暴露与您在地图中指定的名称。
8、部署缓存配置
所有的流程定义都被缓存(在它们被解析之后),以避免每次需要流程定义时触及数据库,也因为流程定义数据不会改变。默认情况下,这个缓存没有限制。要限制进程定义缓存,请添加以下属性:
<property name="processDefinitionCacheLimit" value="10" />
设置此属性将交换默认的hashmap缓存与LRU缓存,提供了硬限制。当然,此属性的最佳值取决于所有运行时流程实例在运行时实际使用的流程定义总量和流程定义数量。
你也可以注入你自己的缓存实现。这必须是一个实现org.flowable.engine.impl.persistence.deploy.DeploymentCache接口的bean:
设置此属性将交换默认的hashmap缓存与LRU缓存,提供了硬限制。当然,此属性的最佳值取决于所有运行时流程实例在运行时实际使用的
流程定义总量和流程定义数量。
你也可以注入你自己的缓存实现。这必须是一个实现org.flowable.engine.impl.persistence.deploy.DeploymentCache接口的bean:
有一个类似的属性调用knowledgeBaseCacheLimit和knowledgeBaseCache配置规则高速缓存。这只在您的流程中使用规则任务时才需要。
9、记录
所有日志记录(Flowable,spring ,mybatis,…)通过SLF4J路由,并允许选择您的选择的日志实施。
默认情况下,Flowable引擎依赖项中不存在SFL4J绑定JAR,应将其添加到项目中,以便使用您选择的日志记录框架。 如果没有添加实现JAR,
则SLF4J将使用NOP-logger,除了没有记录任何内容的警告之外,不会记录任何内容。有关这些绑定的更多信息
http://www.slf4j.org/codes.html#StaticLoggerBinder。
用Maven,添加例如这样的依赖(这里使用log4j),注意你仍然需要添加一个版本:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
flowable-ui和flowable-rest webapps被配置为使用Log4j-binding。运行所有流动模块的测试时也使用Log4j。
在类路径中使用具有公共记录的容器时的重要注意事项:为了通过SLF4J路由弹簧记录,使用桥接(请参阅
http://www.slf4j.org/legacy.html#jclOverSLF4J)。如果您的容器提供公用日志记录实施,请按照此页面上的指示进行操作:
http://www.slf4j.org/codes.html#release确保稳定。
使用Maven时的示例:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号: