当前位置: 首页 > news >正文

服务好的网站制作郑州seo网络优化公司

服务好的网站制作,郑州seo网络优化公司,网络营销的方式与手段,郑州做网站推广地址首先创建流程监听器和任务监听器的实体类#xff0c;个人比较喜欢使用Delegate Expression方式#xff0c;其他两种方式也可以 流程监听器 package org.mpc.final_activiti;import java.io.Serializable;import org.activiti.engine.delegate.DelegateExecution; import org.…首先创建流程监听器和任务监听器的实体类个人比较喜欢使用Delegate Expression方式其他两种方式也可以 流程监听器 package org.mpc.final_activiti;import java.io.Serializable;import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.ExecutionListener; import org.activiti.engine.delegate.Expression;/*** * 可以使用 CLASS ,EXPRESSION,DELEGATE EXPRESSSION三种方式来创建监听器这里使用第三种方式其他两种方式和* 在servicetask中的使用方式相同* * */ public class ExectuionListenerDemo implements Serializable, ExecutionListener {/*** Fields serialVersionUID : TODO(用一句话描述这个变量表示什么)*/private static final long serialVersionUID 8513750196548027535L;private Expression message;public Expression getMessage() {return message;}public void setMessage(Expression message) {this.message message;}Overridepublic void notify(DelegateExecution execution) throws Exception {System.out.println(流程监听器 message.getValue(execution));}}任务监听器package org.mpc.final_activiti;import java.io.Serializable;import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.Expression; import org.activiti.engine.delegate.TaskListener;/*** * 任务监听器实现TaskListener接口* * */ public class TaskListenerDemo implements Serializable, TaskListener {private Expression arg;public Expression getArg() {return arg;}public void setArg(Expression arg) {this.arg arg;}Overridepublic void notify(DelegateTask delegateTask) {System.out.println(任务监听器: arg.getValue(delegateTask));}}这两个监听器只是简单的表明了自己的身份并打印出在流程中注入给他们的值接着是流程定义图 从左到右依次是  空开始事件--排他网关--用户任务--空中间抛出事件--空结束事件 首先在空白处点击鼠标接着在properties选项卡中做如下操作 然后在排他网关、空中间抛出事件、以及节点之间的箭头上点击鼠标同样可以做如上的操作这些都流程监听事件的配置 在usertask上我们特别配置usertask才有的任务监听器配置过程如下图所示 和流程监听器的配置大同小异呢 展示一下配置结果的xml文件特别注意一下加注释的地方 ?xml version1.0 encodingUTF-8? definitions xmlnshttp://www.omg.org/spec/BPMN/20100524/MODEL xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:xsdhttp://www.w3.org/2001/XMLSchema xmlns:activitihttp://activiti.org/bpmn xmlns:bpmndihttp://www.omg.org/spec/BPMN/20100524/DI xmlns:omgdchttp://www.omg.org/spec/DD/20100524/DC xmlns:omgdihttp://www.omg.org/spec/DD/20100524/DI typeLanguagehttp://www.w3.org/2001/XMLSchema expressionLanguagehttp://www.w3.org/1999/XPath targetNamespacehttp://www.activiti.org/testprocess idmyProcess nameMy process isExecutabletrueextensionElementsactiviti:executionListener eventstart delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[流程启动]]/activiti:string/activiti:field/activiti:executionListeneractiviti:executionListener eventend delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[流程结束]]/activiti:string/activiti:field/activiti:executionListener/extensionElementsstartEvent idstartevent1 nameStart/startEventexclusiveGateway idexclusivegateway1 nameExclusive GatewayextensionElementsactiviti:executionListener eventstart delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[排他网关开始]]/activiti:string/activiti:field/activiti:executionListeneractiviti:executionListener eventend delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[排他网关结束]]/activiti:string/activiti:field/activiti:executionListener/extensionElements/exclusiveGatewaysequenceFlow idflow3 sourceRefstartevent1 targetRefexclusivegateway1/sequenceFlowuserTask idusertask2 nameUser Task activiti:assignee${user}extensionElementsactiviti:taskListener eventcreate delegateExpression${mytaskListener}activiti:field nameargactiviti:string![CDATA[任务启动]]/activiti:string/activiti:field/activiti:taskListeneractiviti:taskListener eventassignment delegateExpression${mytaskListener}activiti:field nameargactiviti:string![CDATA[分配人员]]/activiti:string/activiti:field/activiti:taskListeneractiviti:taskListener eventcomplete delegateExpression${mytaskListener}activiti:field nameargactiviti:string![CDATA[任务完成]]/activiti:string/activiti:field/activiti:taskListener!-- 在可视化工具中无法给usertask加上流程监听器但是我们在xml中可以自己敲进去· --activiti:executionListener eventstart delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[流程启动任务]]/activiti:string/activiti:field/activiti:executionListeneractiviti:executionListener eventend delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[流程关闭任务]]/activiti:string/activiti:field/activiti:executionListener!-- ........................................................................................................................................ --/extensionElements/userTasksequenceFlow idflow4 sourceRefexclusivegateway1 targetRefusertask2extensionElementsactiviti:executionListener eventtake delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[从排他网关到用户任务好长的一段路]]/activiti:string/activiti:field/activiti:executionListener/extensionElements/sequenceFlowintermediateThrowEvent idnoneintermediatethrowevent1 nameNoneThrowEventextensionElementsactiviti:executionListener eventstart delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[中间事件开始]]/activiti:string/activiti:field/activiti:executionListeneractiviti:executionListener eventend delegateExpression${myprocessListener}activiti:field namemessageactiviti:string![CDATA[中间事件结束]]/activiti:string/activiti:field/activiti:executionListener/extensionElements/intermediateThrowEventsequenceFlow idflow5 sourceRefusertask2 targetRefnoneintermediatethrowevent1/sequenceFlowendEvent idendevent1 nameEnd/endEventsequenceFlow idflow6 sourceRefnoneintermediatethrowevent1 targetRefendevent1/sequenceFlow/processbpmndi:BPMNDiagram idBPMNDiagram_myProcessbpmndi:BPMNPlane bpmnElementmyProcess idBPMNPlane_myProcessbpmndi:BPMNShape bpmnElementstartevent1 idBPMNShape_startevent1omgdc:Bounds height35.0 width35.0 x160.0 y180.0/omgdc:Bounds/bpmndi:BPMNShapebpmndi:BPMNShape bpmnElementexclusivegateway1 idBPMNShape_exclusivegateway1omgdc:Bounds height40.0 width40.0 x240.0 y130.0/omgdc:Bounds/bpmndi:BPMNShapebpmndi:BPMNShape bpmnElementusertask2 idBPMNShape_usertask2omgdc:Bounds height55.0 width105.0 x325.0 y123.0/omgdc:Bounds/bpmndi:BPMNShapebpmndi:BPMNShape bpmnElementnoneintermediatethrowevent1 idBPMNShape_noneintermediatethrowevent1omgdc:Bounds height35.0 width35.0 x475.0 y133.0/omgdc:Bounds/bpmndi:BPMNShapebpmndi:BPMNShape bpmnElementendevent1 idBPMNShape_endevent1omgdc:Bounds height35.0 width35.0 x555.0 y133.0/omgdc:Bounds/bpmndi:BPMNShapebpmndi:BPMNEdge bpmnElementflow3 idBPMNEdge_flow3omgdi:waypoint x195.0 y197.0/omgdi:waypointomgdi:waypoint x260.0 y170.0/omgdi:waypoint/bpmndi:BPMNEdgebpmndi:BPMNEdge bpmnElementflow4 idBPMNEdge_flow4omgdi:waypoint x280.0 y150.0/omgdi:waypointomgdi:waypoint x325.0 y150.0/omgdi:waypoint/bpmndi:BPMNEdgebpmndi:BPMNEdge bpmnElementflow5 idBPMNEdge_flow5omgdi:waypoint x430.0 y150.0/omgdi:waypointomgdi:waypoint x475.0 y150.0/omgdi:waypoint/bpmndi:BPMNEdgebpmndi:BPMNEdge bpmnElementflow6 idBPMNEdge_flow6omgdi:waypoint x510.0 y150.0/omgdi:waypointomgdi:waypoint x555.0 y150.0/omgdi:waypoint/bpmndi:BPMNEdge/bpmndi:BPMNPlane/bpmndi:BPMNDiagram /definitions为了让usertak产生一个指定人员的事件我们给这个usertask弄一个指定人员 然后就是测试代码 package final_activiti.progress;import java.util.HashMap; import java.util.Map;import org.activiti.engine.impl.test.PluggableActivitiTestCase; import org.activiti.engine.test.Deployment; import org.junit.Test; import org.mpc.final_activiti.ExectuionListenerDemo; import org.mpc.final_activiti.TaskListenerDemo;public class ListenersTest extends PluggableActivitiTestCase {TestDeployment(resources final_activiti/progress/listeners.bpmn)public void test() {MapString, Object map new HashMapString, Object();map.put(myprocessListener, new ExectuionListenerDemo());map.put(mytaskListener, new TaskListenerDemo());map.put(user, mpc);runtimeService.startProcessInstanceByKey(myProcess, map);taskService.complete(taskService.createTaskQuery().singleResult().getId());;}}测试结果分析 1.我们给usertask定义的流程监听实现了 2.usertask中先执行流程监听的start、然后是分配人员、任务启动、任务完成、流程关闭任务任务是包含在流程中的
http://www.pierceye.com/news/576992/

相关文章:

  • 如何用php做网站合肥专业手机网站哪家好
  • 如何推广自己的网站和产品如何用dw做网站地图
  • 株洲有名的网站重庆市公路建设信息网官网
  • 网站安全证书出错怎么做dw网页制作素材网站
  • 收录查询 站长工具给网站做解答是干嘛的
  • 成都哪些公司可以做网站建网站现软件
  • 深圳wap网站建设传奇霸主页游
  • 做网站首先要干什么营销软文200字
  • 帝国cms做的网站私人定制女装店
  • 网站建设南沙wordpress video
  • 网站建设开票应该开哪个行业什么网站可以免费做视频的软件
  • 百度seo查询收录查询网站推广策划案seo教程
  • 如何免费建立网站中贤建设集团网站
  • 如何做转运网站黄聪 wordpress
  • 临海市住房与城乡建设规划局网站宁波网络推广培训
  • go 网站开发自己在线制作logo
  • 重庆市网站建设公司企业服务账号
  • 网站建设的市场情况网站系统里不能打印
  • 网站如何适应屏幕做网站时无法上传图片
  • 网站的橱窗怎么做嘉兴住房和城乡建设厅网站
  • 吉林省城乡建设官方网站163企业邮箱登录入口官网
  • 做网站参考文献某企业网站建设方案2000字
  • 网站托管哪家好织梦购物网站整站源码
  • 怎么做网站的优化排名wordpress的目录结构(一)
  • 个人可以做公益网站吗美食杰网站的建设目的
  • 宿迁公司企业网站建设《网站基础建设-首保》
  • 做全屏式网站尺寸是多大国外虚拟主机 两个网站
  • 黑龙江建设网站招聘广西住房和城乡建设厅培训中心官方网站
  • 做网站客户最关心的是什么制作网页原型的目的
  • 电子商务网站建设工具河南安阳吧