首页 > 代码库 > 流程任务-手工/接收/邮件任务
流程任务-手工/接收/邮件任务
BPMN中支持send task/receive task/manual task和business rule task 任务。send task主要为email task 和 mule task ,而business rule task 主要是JBoss的Drools规则引擎。
1.手工任务和接收任务
手工任务即不需要任何程序或流程引擎驱动,会自动执行的任务。流程到达该任务时,简单记录下流程历史数据,会自动离开。
接收任务需要等待外界通知后,流程才可以继续向前执行,通知需要使用RuntimeService的sinal方法。
<!--手动任务--><manualTask id="manualtask1" name="Manual Task"></manualTask><!--接收任务--><receiveTask id="receivetask1" name="Receive Task"></receiveTask>
// 启动流程ProcessInstance pi = runtimeService.startProcessInstanceByKey("process1");// 查询当前任务List<Task> tasks = taskService.createTaskQuery().list();System.out.println("执行手工任务之后、接收任务之前的任务数量:" + tasks.size()); //0List<ProcessInstance> pis = runtimeService.createProcessInstanceQuery().list(); //1System.out.println("执行手工任务之后、接收任务之前的流程实例数量:" + pis.size());// 让流程向前执行runtimeService.signal(pi.getId());// 查询流程pis = runtimeService.createProcessInstanceQuery().list(); //0
2.邮件任务
执行类为ActivitiBehavior,对应实现类MailActivitiBehavior。
<sendTask id="mailtask1" name="Mail Task" activiti:type="mail"> <extensionElements> <activiti:field name="from" stringValue="发件人地址" /> <activiti:field name="to" stringValue="收件人地址" /> <activiti:field name="subject" stringValue="test" /> <activiti:field name="html"> <activiti:expression> <![CDATA[ <html> <body> <table border="1"> <tr><td>name</td> <td>age</td> </tr> </table> </body> </html> ]]> </activiti:expression> </activiti:field> </extensionElements></sendTask>
还需要提供邮件服务器的配置信息:
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <!--jdbc配置省略--> <property name="mailServerHost" value="smtp.163.com"></property> <property name="mailServerPort" value="25"></property> <property name="mailServerUsername" value="你的163邮箱用户名"></property> <property name="mailServerPassword" value="你的邮箱密码"></property> </bean>
在流程到达该任务时会自动根据配置发送邮件。
//ProcessInstance pi = runtimeService.startProcessInstanceByKey("process1");
--学习来自: 疯狂workflow讲义
流程任务-手工/接收/邮件任务
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。