博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
activiti实战读书笔记——第九章 多实例
阅读量:6213 次
发布时间:2019-06-21

本文共 1924 字,大约阅读时间需要 6 分钟。

hot3.png

1、配置多实例的活动在流程运行时运行时顺序方式或并行放肆创建活动实例。

2、任务多实例 在任务中添加<multiInstanceLoopCharacteristics>元素来实现:

${loop}

对一个Java service任务添加了多实例配置,loop变量决定实例数量,每次执行任务count自增1。isSequential属性为false表示并行运行,否则顺序运行。

3、请假会签审批的用户任务多实例配置

多实例在遍历users集合时把单个值保存在 activiti:elementVariable指定的user中。

此外添加了一个任务监听器,每次审批通过将approvedCounter属性自增1:

public class LeaveCounterSignCompleteListenter implements TaskListener {	@Override	public void notify(DelegateTask delegateTask) {		String approved = (String)delegateTask.getVariable("approved");		if(approved.equals("true")){			Long agreeCounter = (Long)delegateTask.getVariable("approvedCounter");			delegateTask.setVariable("approvedCounter", agreeCounter + 1);		}	}}

4、开始事件的表单定义中有一个自定义的类型users:

需要定义自己的表单类型类
public class UsersFormType extends AbstractFormType {	@Override	public String getName() {		return "users";	}	@Override	public Object convertFormValueToModelValue(String propertyValue) {		String[] values = StringUtils.split(propertyValue, ",");		return Arrays.asList(values);	}	@Override	public String convertModelValueToFormValue(Object modelValue) {		return Objects.toString(modelValue);	}}

并将它配置到processEngineConfiguration中:
List
customFormTypes = new ArrayList
(); customFormTypes.add(new JavaScriptFormType()); customFormTypes.add(new UsersFormType()); processEngineConfiguration.setCustomFormTypes(customFormTypes);

5、审批意见

在taskService接口中定义了3个和意见相关的方法:

addComment(String taskId, String processInstanceId, String message);

getProcessInstanceComments(String processInstanceId);

getTaskAttachments(String taskId)

第一方法创建意见,第二个和第三个方法分别根据流程实例ID和任务ID读取相关意见。

转载于:https://my.oschina.net/u/2453016/blog/605809

你可能感兴趣的文章
基于DRBD构建高可用主从MySQL服务器
查看>>
Python之匿名函数
查看>>
5-puppet软件包管理
查看>>
Linux下使用l7-filter过滤QQ、迅雷、电驴等
查看>>
总目录
查看>>
开源的感觉可用的 web 下拉组件
查看>>
NFS服务配置笔记
查看>>
Oracle ERP 技术探讨
查看>>
Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
查看>>
华为3Com建设安徽大学万兆校园网络案例
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
mysql 报错ERROR 1820 (HY000):You must resetpassword
查看>>
JSP中的request,session,application生命周期
查看>>
Shell脚本编程基础
查看>>
替换 <a>标签中的 href
查看>>
Centos系统下Open×××安装配置
查看>>
我的友情链接
查看>>
一千行MySQL学习笔记
查看>>
《将博客搬至CSDN》的文章,
查看>>