jbpm4的多人會簽(fork join實現)

2021-08-21 10:54:12 字數 2048 閱讀 2900

本文的主要思想是建立主任務與子任務,會簽分配給多個人,即建立了多個子任務,子任務要與主任務繫結,根據指定的會簽人完成子任務,每次到完成子任務時要判斷主任務的子任務個數有幾個,當所有子任務都完成,主任務沒有子任務時,就讓主任務指向下一節點。

1.新建jbpm.xml檔案,**如下:

<?xml version="1.0" encoding="utf-8"?>

流程圖如下:

2.其中commercialtripassignment,需要實現assignmenthandler,重寫它的assign方法,**如下:

package cn.edu.zust.itee;

import org.jbpm.api.configuration;

import org.jbpm.api.processengine;

import org.jbpm.api.taskservice;

import org.jbpm.api.model.openexecution;

import org.jbpm.api.task.assignable;

import org.jbpm.api.task.assignmenthandler;

import org.jbpm.api.task.participation;

import org.jbpm.api.task.task;

import org.jbpm.pvm.internal.task.opentask;

@suppresswarnings("serial")

public class commercialtripassignment implements assignmenthandlerelse

if("end".equals(end)) }

/**建立子任務

* @param task

*/

private void createsubtask(task task)

} }

}

3.發布流程

3.1 新建processengine

processengine processengine = new configuration().setresource("jbpm.cfg.xml").buildprocessengine();
3.2 jbpm.cfg.xml內容如下:

<?xml version="1.0" encoding="utf-8"?>

3.3 發布

@test

public void deployprocessdefinition()

4.啟動流程
@test

public void startprocessinstance()

//test4-2為jbpm4_deployprop表中的stringval_字段值

5. 提交部門經理審批階段,也就是發起會簽的環節
@test

public void completetask()

6.根據會簽人查詢代辦任務,完成會簽(部門經理審批)
//查詢我的未辦理的任務列表

@test

public void findmytasklist()

}/**

* 完成子任務

* @param task

*/public void completechildtask(task task)

/*** 判斷主任務的子任務的個數,如果子任務個數==0,完成主任務

*/@test

public void findmaintask()

}

至此,就完成會簽(部門經理審批)的流程了,任務指向了下一節點(總經理審批)

JBPM4 獲取任務

示例 1 xml version 1.0 encoding utf 8 23 process name test key test xmlns 4 start name start1 g 255,35,48,48 5 transition name 提交到科長 to 科長審批 g 63,25 6st...

jbpm4 引數設定

task test 2 xmlns description 測試型別 這樣是無法取到 description的 正確寫法是這樣的 task test 2 xmlns 測試型別 流程 xmlns 發布到資料庫中的時候會變成 流程 key process xmlns 這樣發布到資料 庫中,流程名稱就是中...

jbpm4流程服務介紹

1 流程引擎processengine的構建方式如下三種 2 流程引擎提供的主要服務介面如下 2.1 流程資源repositoryservice rs包含了管理流程定義的所有方法 發布 刪除 掛起和恢復 檢視 2.1.1 發布流程 2.1.2 刪除流程 2.1.3 掛起和恢復流程 2.1.4 檢視流...