作业执行器(从6.0.1版本起) Job Executor (from version 6.0.1 onwards)
在Flowable V6中唯一可用的作业执行器,是Flowable V5中的异步执行器(async executor)。因为它为Flowable引擎提供了性能更好,对数据库也更友好的执行异步作业的方式。Flowable V5中的作业执行器(job executor)在V6中不再可用。
此外,如果在Java EE 7下运行,容器还可以使用符合JSR-236标准的ManagedJobExecutor
来管理线程。要启用这个功能,需要在配置中如下加入线程工厂:
<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.ManagedAsyncExecutor"> <!-- ... --> <property name="threadFactory" ref="threadFactory" /> <!-- ... --> </bean>
如果没有设置线程工厂,ManagedJobExecutor实现会退化为默认实现(非managed版本)。
启用作业执行器 Job executor activation
AsyncExecutor
是管理线程池的组件,用于触发定时器与其他异步任务。也可以使用其他实现(例如使用消息队列,参见用户手册的高级章节)。
默认情况下,AsyncExecutor
并未激活,也不会启动。用如下配置使异步执行器与Flowable引擎一同启动:
1<property name="asyncExecutorActivate" value="true" />
asyncExecutorActivate这个参数使Flowable引擎在启动同时启动异步执行器。