国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
activiti學(xué)習(xí)筆記2

接上文,本文主要講述如何使用Activiti搭建一個(gè)簡單的工程。

首先就是下載Activiti5.9的官方文件,下載地址見:http://activiti.org/download.html,新建一個(gè)Java工程導(dǎo)入相關(guān)的JAR包,安裝Activiti的插件。因?yàn)閱我坏膬H使用Activiti的項(xiàng)目在現(xiàn)實(shí)生活中幾乎不存在,所以本文中的項(xiàng)目還是集成了Spring框架,所需要的JAR包截圖如下:

新建一個(gè)Java Project,在該項(xiàng)目中新建一個(gè)Activiti Process,打開插件面板。

這里模擬的流程是某公司的實(shí)習(xí)生招聘流程:

新建一個(gè)開始節(jié)點(diǎn):


 接下來新建其余的節(jié)點(diǎn):


最終的結(jié)果圖如下:

該步驟會自動(dòng)生成相應(yīng)的bpmn2.0文件,如圖所示:

接下來就是創(chuàng)建配置文件了:

activiti.cfg.xml

Xml代碼
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">  
  5.     <bean id="processEngineConfiguration"  
  6.         class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">  
  7.         <property name="databaseSchemaUpdate" value="true" />  
  8.         <property name="jdbcUrl" value="jdbc:mysql://localhost:9906/activiti" />  
  9.         <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />  
  10.         <property name="jdbcUsername" value="root" />  
  11.         <property name="jdbcPassword" value="root" />  
  12.         <property name="jobExecutorActivate" value="true" />  
  13.     </bean>  
  14. </beans>  

測試類:

InterviewTest.java

Java代碼
 
  1. package com.activiti04;   
  2.   
  3. import java.util.List;   
  4.   
  5. import org.activiti.engine.HistoryService;   
  6. import org.activiti.engine.ProcessEngine;   
  7. import org.activiti.engine.ProcessEngineConfiguration;   
  8. import org.activiti.engine.RepositoryService;   
  9. import org.activiti.engine.RuntimeService;   
  10. import org.activiti.engine.TaskService;   
  11. import org.activiti.engine.history.HistoricProcessInstance;   
  12. import org.activiti.engine.task.Task;   
  13.   
  14. public class InterviewTest {   
  15.   
  16.     //本流程模擬的是某公司2012年實(shí)習(xí)生招聘流程   
  17.     public static void main(String[] args) {   
  18.         //加載配置文件   
  19.         ProcessEngine processEngine = ProcessEngineConfiguration   
  20.                 .createProcessEngineConfigurationFromResource("activiti.cfg.xml")   
  21.                 .buildProcessEngine();   
  22.         RepositoryService repositoryService = processEngine.getRepositoryService();   
  23.         RuntimeService runtimeService = processEngine.getRuntimeService();   
  24.         repositoryService.createDeployment()   
  25.             .addClasspathResource("main/resources/diagrams/Interview.bpmn20.xml")   
  26.             .deploy();   
  27.         String processId = runtimeService.startProcessInstanceByKey("Interview").getId();   
  28.            
  29.         TaskService taskService = processEngine.getTaskService();   
  30.         //得到筆試的流程   
  31.         System.out.println("***************筆試流程開始***************");   
  32.         List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("人力資源部").list();   
  33.         for (Task task : tasks) {   
  34.             System.out.println("人力資源部的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  35.             taskService.claim(task.getId(), "張三");   
  36.         }   
  37.         System.out.println("張三的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("張三").count());   
  38.         tasks = taskService.createTaskQuery().taskAssignee("張三").list();   
  39.         for (Task task : tasks) {   
  40.             System.out.println("張三的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  41.             taskService.complete(task.getId());   
  42.         }   
  43.         System.out.println("張三的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("張三").count());   
  44.         System.out.println("***************筆試流程結(jié)束***************");   
  45.            
  46.         System.out.println("***************一面流程開始***************");   
  47.         tasks = taskService.createTaskQuery().taskCandidateGroup("技術(shù)部").list();   
  48.         for (Task task : tasks) {   
  49.             System.out.println("技術(shù)部的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  50.             taskService.claim(task.getId(), "李四");   
  51.         }   
  52.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  53.         for (Task task : tasks) {   
  54.             System.out.println("李四的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  55.             taskService.complete(task.getId());   
  56.         }   
  57.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  58.         System.out.println("***************一面流程結(jié)束***************");   
  59.            
  60.         System.out.println("***************二面流程開始***************");   
  61.         tasks = taskService.createTaskQuery().taskCandidateGroup("技術(shù)部").list();   
  62.         for (Task task : tasks) {   
  63.             System.out.println("技術(shù)部的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  64.             taskService.claim(task.getId(), "李四");   
  65.         }   
  66.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  67.         for (Task task : tasks) {   
  68.             System.out.println("李四的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  69.             taskService.complete(task.getId());   
  70.         }   
  71.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  72.         System.out.println("***************二面流程結(jié)束***************");   
  73.            
  74.         System.out.println("***************HR面流程開始***************");   
  75.         tasks = taskService.createTaskQuery().taskCandidateGroup("人力資源部").list();   
  76.         for (Task task : tasks) {   
  77.             System.out.println("技術(shù)部的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  78.             taskService.claim(task.getId(), "李四");   
  79.         }   
  80.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  81.         for (Task task : tasks) {   
  82.             System.out.println("李四的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  83.             taskService.complete(task.getId());   
  84.         }   
  85.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  86.         System.out.println("***************HR面流程結(jié)束***************");   
  87.            
  88.         System.out.println("***************錄用流程開始***************");   
  89.         tasks = taskService.createTaskQuery().taskCandidateGroup("人力資源部").list();   
  90.         for (Task task : tasks) {   
  91.             System.out.println("技術(shù)部的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  92.             taskService.claim(task.getId(), "李四");   
  93.         }   
  94.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  95.         for (Task task : tasks) {   
  96.             System.out.println("李四的任務(wù):name:"+task.getName()+",id:"+task.getId());   
  97.             taskService.complete(task.getId());   
  98.         }   
  99.         System.out.println("李四的任務(wù)數(shù)量:"+taskService.createTaskQuery().taskAssignee("李四").count());   
  100.         System.out.println("***************錄用流程結(jié)束***************");   
  101.            
  102.         HistoryService historyService = processEngine.getHistoryService();   
  103.         HistoricProcessInstance historicProcessInstance = historyService   
  104.                 .createHistoricProcessInstanceQuery()   
  105.                 .processInstanceId(processId).singleResult();   
  106.         System.out.println("流程結(jié)束時(shí)間:"+historicProcessInstance.getEndTime());   
  107.         System.exit(0);   
  108.     }   
  109. }  

 

 然后執(zhí)行即可,結(jié)果如下:

Xml代碼
 
  1. ***************筆試流程開始***************   
  2. 人力資源部的任務(wù):name:筆試,id:307   
  3. 張三的任務(wù)數(shù)量:1   
  4. 張三的任務(wù):name:筆試,id:307   
  5. 張三的任務(wù)數(shù)量:0   
  6. ***************筆試流程結(jié)束***************   
  7. ***************一面流程開始***************   
  8. 技術(shù)部的任務(wù):name:技術(shù)一面,id:310   
  9. 李四的任務(wù)數(shù)量:1   
  10. 李四的任務(wù):name:技術(shù)一面,id:310   
  11. 李四的任務(wù)數(shù)量:0   
  12. ***************一面流程結(jié)束***************   
  13. ***************二面流程開始***************   
  14. 技術(shù)部的任務(wù):name:技術(shù)二面,id:313   
  15. 李四的任務(wù)數(shù)量:1   
  16. 李四的任務(wù):name:技術(shù)二面,id:313   
  17. 李四的任務(wù)數(shù)量:0   
  18. ***************二面流程結(jié)束***************   
  19. ***************HR面流程開始***************   
  20. 技術(shù)部的任務(wù):name:HR面,id:316   
  21. 李四的任務(wù)數(shù)量:1   
  22. 李四的任務(wù):name:HR面,id:316   
  23. 李四的任務(wù)數(shù)量:0   
  24. ***************HR面流程結(jié)束***************   
  25. ***************錄用流程開始***************   
  26. 技術(shù)部的任務(wù):name:錄用,發(fā)放Offer,id:319   
  27. 李四的任務(wù)數(shù)量:1   
  28. 李四的任務(wù):name:錄用,發(fā)放Offer,id:319   
  29. 李四的任務(wù)數(shù)量:0   
  30. ***************錄用流程結(jié)束***************   
  31. 流程結(jié)束時(shí)間:Tue May 15 17:44:26 CST 2012  

 至此,該項(xiàng)目結(jié)束,項(xiàng)目源碼放在附件中。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Activiti流程變量
SpringBoot 集成 Camunda 流程引擎,實(shí)現(xiàn)一套完整的業(yè)務(wù)流程
史上最全的工作流引擎 Activiti 進(jìn)階學(xué)習(xí)教程(值得收藏)
activiti實(shí)現(xiàn)工作流審批
Activiti最全入門教程
jbpm4.4 Api 示例
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服