flowable 怎么调整流程实例锁定时间
时间: 2023-08-16 22:12:14 浏览: 138
在Flowable中,流程实例锁定时间是由配置属性控制的。可以在流程引擎配置文件中设置:
```
<property name="asyncExecutorDefaultTimerJobAcquireWaitTimeInMillis" value="5000" />
```
上述配置表示当一个异步任务执行器需要获取一个定时任务时,等待时间最多为5秒。可以根据具体需求进行调整。
另外,也可以在运行时动态地设置锁定时间,使用以下代码:
```java
ProcessEngineConfigurationImpl processEngineConfiguration = (ProcessEngineConfigurationImpl) ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("flowable.cfg.xml");
processEngineConfiguration.setAsyncExecutorDefaultTimerJobAcquireWaitTimeInMillis(10000);
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
```
上述代码将流程实例锁定时间设置为10秒。
相关问题
flowable 流程实例锁定时间作用
Flowable 是一个流程引擎,它允许您定义、执行和管理各种业务流程。在 Flowable 中,流程实例锁定时间是指当一个流程实例正在执行时,如果另一个用户或线程也尝试对该实例进行修改,那么这个锁定时间可以防止并发访问和修改冲突。
具体来说,流程实例锁定时间可以用来控制以下情况:
1. 防止并发修改:如果多个用户或线程同时尝试对同一个流程实例进行修改,那么可能会导致数据不一致或丢失。通过设置锁定时间,可以确保在一个用户或线程修改流程实例时,其他用户或线程无法访问该实例。
2. 避免死锁:在一个多线程应用中,如果两个或多个线程都试图获取对方持有的锁,那么可能会导致死锁。通过设置适当的锁定时间,可以避免这种情况的发生。
需要注意的是,流程实例锁定时间不能解决所有的并发访问和修改问题。如果您的应用程序需要更强大的并发控制,您可能需要考虑使用更高级的技术,如分布式锁、事务等。
flowable 查询流程实例
可以使用以下代码查询 Flowable 流程实例:
```java
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processDefinitionKey("processDefinitionKey")
.variableValueEquals("variableName", variableValue)
.singleResult();
```
其中,processDefinitionKey 是流程定义的 key,variableName 是流程变量的名称,variableValue 是流程变量的值。如果查询到了流程实例,processInstance 就是查询到的流程实例对象。
阅读全文