盘古BPM体验地址    盘古BPM交流群盘古BPM交流群号:963222735

activiti act_ru_task表中的priority更新

Activiti 分享牛 4714℃
由于activiti并不会自动更新act_ru_task表中的PRIORITY_列,PRIORITY_类代表任务的优先级,默认值为50,因此我们使用的时候,可以使用该值作为任务的优先级属性。具体使用如下:
写一个命令类如下:
public class UpdateTaskPriorityCommand implements Command {
	protected int priority;
	protected String processInstanceId;
	
	
	public UpdateTaskPriorityCommand(int priority, String processInstanceId) {
		this.priority = priority;
		this.processInstanceId = processInstanceId;
	}
	@Override
	public Void execute(CommandContext commandContext) {
		List findTasksByProcessInstanceId = commandContext.getTaskEntityManager().findTasksByProcessInstanceId(processInstanceId);
		for (TaskEntity taskEntity : findTasksByProcessInstanceId) {
		commandContext
				      .getTaskEntityManager()
				      .findTaskById(taskEntity.getId());
		taskEntity.setPriority(priority);
		}
		return null;
	}
}
测试代码如下:
@Test
	public void executeCommand() {
		processEngine.getManagementService().executeCommand(new UpdateTaskPriorityCommand(10, "2501"));
	}
关于taskEntity.setPriority(priority)操作之后数据库的数据就会更新,可以参考activiti权威指南一书中的会话缓存章节

转载请注明:分享牛 » activiti act_ru_task表中的priority更新