初学activiti(一)
来源:互联网 发布:淘宝上买男装什么牌子 编辑:程序博客网 时间:2024/06/15 14:03
对自己说:新年好!
年前看了几天的activiti工作流引擎,开始听到老大叫我看看时,比较蛋定,想着在网上查查资料应该问题不大,之后我就蒙圈了,感觉资料好少。
开始:
搜到了activiti中文api,下载了源码包,照着上面的操作了一下,把war包放到tomcat下面,能跑起来,但是不知道是啥,用eclipse跑了一个请假的小demo,首先研究的是流程图,要画流程图,还得安装相应的插件,不知道idea上如何操作,没弄成功,所以还是用eclispe。在界面上画好流程图,保存成文件后,以xml的格式打开,可以将其中的各个属性代码与界面对应起来:
StartEvent——任务开始
UserTask——用户任务节点,General中有id和name属性,id不变,name定义为该节点的中文名字;Main config中Assignee表示该节点的拥有者,groups表示该节点所属的分组
Endevent——任务结束
创建任务:
//加载配置文件ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();//部署提供的所有来源的Activiti引擎。RepositoryService repositoryService = processEngine.getRepositoryService();repositoryService.createDeployment().addInputStream("helloworld.bpmn20.xml",new FileInputStream(filename)).deploy();//设置流程发起用户信息,并创建任务流程IdentityService identityService = processEngine.getIdentityService();identityService.setAuthenticatedUserId("kk");//任务发起人为kkRuntimeService runtimeService = processEngine.getRuntimeService();Map<String, Object> variableMap = new HashMap<String, Object>();ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess", variableMap);//获取TaskServiceProcessEngine engine=ProcessEngines.getDefaultProcessEngine();TaskService ts=engine.getTaskService();
流程引擎的数据时保存在数据库中的,默认为h2数据库,如果想换成自己的数据库,比如mysql,可以在配置文件中修改
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=UTF8" /> <property name="username" value="root" /> <property name="password" value="123456" /> </bean>在配置processEngineConfiguration的时候注入dataSource就可以了,这样可以清楚的看到数据库中的数据是怎么处理的
初级使用:
TaskService.createTaskQuery().taskAssignee("张三").count()//查询某个人的任务,对应Main config中Assignee
TaskService.createTaskQuery().taskCandidateGroup("小组长").count()//查询某个组的任务,对应Main config中groups
TaskService.claim(t.getId(), "张三");//claim签收功能去指定受理人"张三"
TaskService.complete(t.getId());//完成某个任务节点,参数为任务id
0 0
- 初学activiti(一)
- activiti初学《一》
- Activiti(一)安装Activiti
- 初学Activiti
- 初学activiti之流程引擎容器的初始化(一)-准备工作
- activiti 学习(一)
- Activiti学习(一)
- activiti学习(一)
- activiti工作流(一)
- activiti 配置(一)
- activiti学习(一)
- Activiti工作流(一)
- Activiti入门教程一(初步认识Activiti)
- Activiti(一)安装Activiti的方式
- activiti(一)spring4+hibernate4
- (一)activiti工作流开篇
- activiti 配置(一)续
- Activiti工作流学习(一)
- 十、MVC模式中的Model使用方法
- Three.js之渲染器
- play on words又是一道改了很久的题
- java8 读书笔记(一)基础特性
- 十一、轻松搭建网站管理后台
- 初学activiti(一)
- android so库 堆栈错误查看
- 十二、SonataAdmin管理后台轻松配置
- 上周热点回顾(1.16-1.22)_0
- 次小生成树
- spring mvc依赖属性注入属性设置
- 十三、用表关联结构实现类目管理
- java8 读书笔记(二)Lambda
- shell sed实例详解