Flowable 6.6.0 BPMN用户指南 - 17 高级用例 - 17.1 异步执行器(2)

《Flowable 6.6.0 BPMN用户指南》

1. 入门

2. 配置

3 The Flowable API

4 Flowable 6.6.0 BPMN用户指南 - (4)Spring集成

5 Spring Boot

6 部署

7 BPMN 2.0简介

8 BPMN 2.0的构造

9 表单(Forms)

10 流程实例迁移

11 JPA

12 历史(History)

13 身份管理(Identity management)

14 REST API

15 CDI集成

16 LDAP集成

17 高级用例

  • 17.1 异步执行器(Async Executor)
    • 17.1.1 异步执行器设计(Async Executor design)
    • 17.1.2 异步执行器配置
    • 17.1.3 基于异步执行器的消息队列
  • 17.2 与流程解析挂钩(Hooking into process parsing)

有关Flowable的更多文档,参见:

《Flowable文档大全》


17.1.2 异步执行器配置

The async executor is a highly configurable component. It’s always recommended to look into the default settings of the async executor and validate if they match the requirements of your processes.

异步执行器是一个高度可配置的组件。始终建议查看异步执行器的默认设置,并验证它们是否符合流程的要求。

Alternatively, it’s possible to extend the default implementation or replace the org.flowable.engine.impl.asyncexecutor.AsyncExecutor interface with your own implementation.
The following properties are available on the process engine configuration through setters:

或者,可以扩展默认实现或用您自己的实现替换org.flowable.engine.impl.asyncexecutor.AsyncExecutor与接口。

在流程引擎配置中通过设置方法(setter)提供以下属性:

异步执行器配置选项(Async executor configuration options)

名称 缺省值 描述
asyncExecutorThreadPoolQueueSize 100 在获取作业之后,在线程池中的线程实际执行这些作业之前,要在其上执行的作业所在队列的大小
asyncExecutorCorePoolSize 8 线程池中为执行作业而保持活动的最小线程
asyncExecutorMaxPoolSize 8 在线程池中为执行作业而创建的最大线程数。
asyncExecutorThreadKeepAliveTime 5000 用于执行作业的线程在被销毁之前必须保持活动的时间(毫秒)。设置>0会占用资源,但在许多作业执行的情况下,它可以避免一直创建新线程。如果为0,则线程在用于作业执行后将被销毁。
asyncExecutorNumberOfRetries 3 将作业移到“死信”(deadletter)表之前重试的次数。
asyncExecutorMaxTimerJobsPerAcquisition 1 在一个查询中获取的定时器作业数。默认值为1,因为这降低了乐观锁定异常的可能性。值越大,性能越好,但不同引擎之间发生乐观锁定异常的可能性也越大。
asyncExecutorMaxAsyncJobsDuePerAcquisition 1 在一个查询期间获取的异步作业数。默认值为1,因为这降低了乐观锁定异常的可能性。值越大,性能越好,但不同引擎之间发生乐观锁定异常的可能性也越大。
asyncExecutorDefaultTimerJobAcquireWaitTime 10000 定时器获取线程等待执行下一个查询的时间(毫秒)。如果找不到新的定时器作业,或者获取的定时器作业少于asyncExecutorMaxTimerJobsPerAcquisition中的设置,则会发生这种情况。
asyncExecutorDefaultAsyncJobAcquireWaitTime 10000 异步作业获取线程等待执行下一个查询的时间(毫秒)。如果找不到新的异步作业,或者提取的异步作业少于asyncExecutorMaxAsyncJobsDuePerAcquisition中设置的异步作业数,则会发生这种情况。
asyncExecutorDefaultQueueSizeFullWaitTime 0 当内部作业队列已满以执行下一个查询时,异步作业(定时器和异步继续)获取线程将等待的时间(以毫秒为单位)。默认设置为0(为了向后兼容)。将此属性设置为更高的值,将允许异步执行器更希望清除其队列。
asyncExecutorTimerLockTimeInMillis 5 minutes 异步执行器获取定时器作业时被锁定的时间量(毫秒)。在此期间,没有其他异步执行器尝试获取并锁定此作业。
asyncExecutorAsyncJobLockTimeInMillis 5 minutes 异步执行器获取异步作业时锁定的时间量(毫秒)。在此期间,没有其他异步执行器尝试获取并锁定此作业。
asyncExecutorSecondsToWaitOnShutdown 60 请求关闭执行器(或流程引擎)时,等待正常关闭线程池(用于作业执行)的时间(秒)。
asyncExecutorResetExpiredJobsInterval 60 seconds 连续两次检查“过期作业”(expired jobs)之间的时间量(毫秒)。过期作业是被锁定的作业(锁所有者+时间是由某个执行者编写的,但作业从未完成)。在这种检查期间,过期的作业将再次可用,这意味着锁所有者和锁定时间将被删除。其他的执行者现在可以拾取该作业。如果锁定时间早于当前日期,则认为作业已过期。
asyncExecutorResetExpiredJobsPageSize 3 异步执行器(async executor)的“reset expired”(复位过期)线程一次获取的作业数量。

你可能感兴趣的:(Flowable,6.6.0,BPMN用户指南,-9-18)