<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    專注技術,奮斗不止

    程序員-小倪的個人博客

    2012年3月23日

    JBPM4服務詳解

    流程引擎ProcessEngine的構建方式:

    1. ProcessEngine pe = Configuration.getProcessEngine(); 
    2. ProcessEngine pe = new Configuration().buildProcessEngine(); 
    3. ProcessEngine pe = new Configuration().setResource("my.jbpm.cfg.xml").buildProcessEngine(); 

    流程引擎的服務接口:

    1. RepositoryService rs = pe.getRepositoryService(); 
    2. ExecutionService es = pe.getExectionService(); 
    3. TaskService ts = pe.getTaskService(); 
    4. HistoryService hs = pe.getHistoryService(); 
    5. ManagementService ms = pe.getManagementService(); 

    流程資源RepositoryService:包含了管理流程資源的所有方法.

    1)部署流程

    1. //通過classpath加載 
    2. rs.createDeployment().addResourceFromClasspath(path).deploy(); 
    3. //通過File類加載 
    4. rs.createDeployment().addResourceFromFile(file).deploy(); 
    5. //通過URL加載 
    6. rs.createDeployment().addResourceFromUrl(url).deploy(); 
    7. //通過ZIP文件流加載 
    8. rs.createDeployment().addResourceFromZipInputStream(zip).deploy(); 
    9. //通過字符串加載 
    10. rs.createDeployment().addResourceFromString(resourceName, string).deploy(); 

    2)刪除流程

    1. //刪除流程定義,如果該流程還存在活動的流程實例,將拋出異常 
    2. rs.deleteDeployment(deploymentId); 
    3. //級聯刪除所有該流程相關的內容 
    4. rs.deleteDeploymentCascade(deploymentId); 

    3)掛起/恢復流程

    1. //掛起流程后,發起新流程或更新實例數據都會拋出異常 
    2. rs.suspendDeployment(deploymentId); 
    3. //恢復流程 
    4. rs.resumeDeployment(deploymentId); 

    4)查詢流程定義信息

    1. ProcessDefinitionQuery pdq = rs.createProcessDefinitionQuery(); 
    2. List<ProcessDefinition> pdList = pdq.processDefinitionKey("xxx").list(); 

    5)獲取流程定義圖片

    1. //前提條件是圖片也發布到了數據庫中 
    2. rs.getResourceAsStream(deploymentId,"xxx.png"); 

    執行服務ExecutionService:主要用于維護流程實例,包含流程實例的查詢和流程變量的操作.

    1)啟動新的流程

    1. //指定KEY,默認最新版本 
    2. es.startProcessInstanceByKey("VMIN"); 
    3. //指定KEY-流程版本 
    4. es.startProcessInstanceById("VMIN-2"); 
    5. //指定流程實例ID 
    6. es.startProcessInstanceByKey("VMIN","CGD0008"); 
    7. //傳遞流程變量 
    8. Map map = new HashMap(); 
    9. es.startProcessInstanceByKey("VMIN", map); 

    2)執行等待的流程

    1. es.signalExecutionById(executeId); 

    任務服務TaskService

    1)任務列表訪問

    1. //查找指定用戶的任務列表 
    2. List<Task> list = ts.findPersonalTasks("marker"); 
    3. //查找指定組的任務列表 
    4. List<Task> list = ts.findGroupTasks("hr-group"); 

    2)讀取相關數據

    1. ts.getVariable(taskId, variableName); 
    2. ts.getVariables(taskId, variableNames); 
    3. ts.getVariableNames(taskId); 
    4. ts.getVariables(taskId, variables); 

    3)完成任務

    1. ts.completeTask(taskId); 
    2. ts.completeTask(taskId, variables); 
    3. ts.completeTask(taskId, outcome); 
    4. ts.completeTask(taskId, outcome, variables); 

    歷史服務HistoryService:查詢歷史流程實例

    1. hs.createHistoryProcessInstanceQuery().processDefinitionId(pdId).orderAsc(HistoryProcessInstanceQuery.PROPERTY_STARTTIME).list(); 

    管理服務ManagementServcie:管理Job

    1. Job job = ms.createJobQuery().processInstanceId(processInstanceId).uniqueResult(); 
    2. ms.executeJob(job.getId); 

    posted @ 2012-03-23 13:28 ProgramerNi 閱讀(258) | 評論 (0)編輯 收藏

    僅列出標題  
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    主站蜘蛛池模板: 日本不卡高清中文字幕免费| 成人午夜视频免费| 亚洲熟妇无码AV在线播放| 国产综合成人亚洲区| 四虎免费在线观看| 亚洲色大成网站www尤物| 岛国大片免费在线观看| 亚洲日韩AV一区二区三区四区 | 成年免费a级毛片| 亚洲精品国产日韩无码AV永久免费网| 国产成人综合亚洲| www.亚洲精品.com| 久久国产乱子伦精品免费午夜 | 日本片免费观看一区二区| 亚洲国产精品成人精品软件| 国产桃色在线成免费视频| 亚洲老熟女五十路老熟女bbw | 成人黄软件网18免费下载成人黄18免费视频 | 亚洲欧洲中文日韩av乱码| 久草免费福利在线| 久久精品亚洲日本佐佐木明希| 香蕉免费一区二区三区| 亚洲高清中文字幕综合网| 一二三四影视在线看片免费| 亚洲爆乳无码精品AAA片蜜桃| 亚洲国产精品成人久久蜜臀| 人妻免费一区二区三区最新| 亚洲系列国产精品制服丝袜第| 成人毛片免费观看视频在线| 免费视频成人国产精品网站| 亚洲AV天天做在线观看| 久久久久免费看黄A片APP| 免费人成再在线观看网站| 久久久久久久亚洲Av无码| 高清国语自产拍免费视频国产| 一级做a爰片久久毛片免费陪| 亚洲国产精品国自产拍电影| 在线免费观看a级片| 三级黄色在线免费观看| 激情亚洲一区国产精品| 亚洲国产一区二区三区|