flowable如何获取流程实例对象
时间: 2023-11-01 21:07:56 浏览: 273
在Flowable中,可以通过`RuntimeService`接口获取流程实例对象。`RuntimeService`接口提供了一系列方法用于流程实例的管理,包括启动流程实例、查询流程实例、删除流程实例等。其中,获取流程实例对象的方法为`RuntimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult()`,其中`processInstanceId`为流程实例的ID。
示例代码如下:
```java
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
if (processInstance != null) {
// 流程实例存在
// ...
} else {
// 流程实例不存在
// ...
}
```
需要注意的是,`processInstanceId`参数必须为已经存在的流程实例ID,否则会返回`null`。如果需要获取多个流程实例对象,可以使用`list()`或`listPage()`方法。
相关问题
flowable 查询流程实例
可以使用以下代码查询 Flowable 流程实例:
```java
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processDefinitionKey("processDefinitionKey")
.variableValueEquals("variableName", variableValue)
.singleResult();
```
其中,processDefinitionKey 是流程定义的 key,variableName 是流程变量的名称,variableValue 是流程变量的值。如果查询到了流程实例,processInstance 就是查询到的流程实例对象。
flowable启动流程实例时设置名称
在使用Flowable启动流程实例时,可以通过调用`ProcessInstanceBuilder`的`name`方法来设置流程实例的名称。下面是一个示例代码:
```java
ProcessInstanceBuilder processInstanceBuilder = runtimeService.createProcessInstanceBuilder();
ProcessInstance processInstance = processInstanceBuilder
.processDefinitionKey("myProcess")
.name("My Process Instance")
.start();
```
在上述示例中,我们首先创建了一个`ProcessInstanceBuilder`对象,然后通过调用`processDefinitionKey`方法设置流程定义的键(即流程定义的ID或Key)。接下来,我们使用`name`方法设置流程实例的名称为"My Process Instance"。最后,调用`start`方法启动流程实例。
请注意,这只是一个简单的示例,实际使用时需要根据你的具体业务需求来调整代码。
阅读全文