程序运行后想修改act_ru_execution name值
时间: 2023-06-25 18:08:13 浏览: 144
可以使用以下代码来修改 `act_ru_execution` 表中的 `name` 值:
```java
// 获取流程执行实例
Execution execution = runtimeService.createExecutionQuery()
.executionId(executionId)
.singleResult();
// 修改 name 值
runtimeService.setVariableLocal(execution.getParentId(), "name", newName);
```
其中,`executionId` 是流程执行实例的 ID,`newName` 是要修改的新名称。通过 `runtimeService.createExecutionQuery().executionId(executionId).singleResult()` 获取流程执行实例,然后使用 `runtimeService.setVariableLocal()` 方法设置新的 `name` 值即可。注意,这里使用了 `setVariableLocal()` 方法,表示只会在当前执行实例中设置该变量,而不会影响其它执行实例的变量值。
相关问题
taskservice 操作ACT_RU_VARIABLE 具体内容
`taskservice` 操作 `ACT_RU_VARIABLE` 主要是用于Activiti(一种开源的工作流引擎)中对流程变量进行管理和操作的任务服务API。`ACT_RU_VARIABLE` 是 Activiti 数据库表的一种,代表运行时变量,它存储了工作流程实例(Execution)、任务(Task)或其他活动上下文中临时或持久的数据。
当你通过 `taskservice` 对 `ACT_RU_VARIABLE` 进行操作时,可以执行如下的任务:
1. **获取变量值**:你可以查询特定变量在某个流程实例、任务或活动中的当前值。
```java
VariableInstance variable = taskService.getVariable(taskId, "variableName");
```
2. **设置变量值**:可以在任务开始前、执行过程中或完成时更新变量的值。
```java
taskService.setVariableLocal(taskId, "variableName", "newValue");
```
3. **删除变量**:如果不再需要某个变量,可以将其从数据库中移除。
```java
taskService.deleteVariable(taskId, "variableName");
```
4. **批量操作**:一次性处理多个变量,比如获取或更新多个任务的相关变量。
5. **监听变量变化**:订阅变量的变化事件,以便在变量值改变时执行回调操作。
act_ru_variable这张表中的各个字段分别是代表什么意思?activity工作流runtimeService.startProcessInstanceByKey()执行后返回的ProcessInstance对象的id是哪张表的主键id?
act_ru_variable表是Activiti工作流引擎中的运行时流程变量表,其中的各个字段分别代表:
- ID:流程变量ID
- REV:数据版本号
- TYPE:数据类型
- NAME:数据名称
- EXECUTION_ID:流程实例ID
- PROC_INST_ID:流程实例ID
- TASK_ID:任务ID
- BYTEARRAY_ID:字节数组ID
- DOUBLE_: 存储double类型的变量值
- LONG_: 存储long类型的变量值
- TEXT_: 存储字符串类型的变量值
- TEXT2_: 存储字符串类型的变量值
在使用runtimeService.startProcessInstanceByKey()方法启动流程实例后,该方法会返回一个ProcessInstance对象,该对象的ID是act_hi_procinst表的主键ID。act_hi_procinst表是Activiti工作流引擎中的历史流程实例表,用于存储已经结束的流程实例的信息。
阅读全文