亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jbpm使用要點

發布時間:2020-08-11 00:07:32 來源:ITPUB博客 閱讀:163 作者:gagaghost 欄目:編程語言

作者:gagaghost Email:gagaghost@gmail.com

1.流程流轉方式:

在一個流程實例化后,流程的節點就會自動進入啟動節點,如果要離開啟動節點,必須調用signal()的方法.調用該方法后,流程會進入后續節點,也即進入stateOne節點,如果再signal()一次,執行的指針將會指向task1,如過再signal()一次,執行指針就會離開task1節點,移動到下一個節點,而下一個節點正好是end節點, 流程就會終止。當然在taskAssignmentHandle中用TaskInstance.end()方法也可以的。

特別需要說明的是:如果Task Node上沒有任務,則執行指針就會自動經過該節點執行到下一個節點.如果task1上沒有任務,則在stateOne上調用了signal(),流程就會結束.

2.如何取出一個用戶的任務列表?

要取出用戶的任務列表,必須保證流程已經持久在數據庫中了,就可以用如下的語句進行提取了:

JbpmConfiguration config = JbpmConfiguration.getInstance();

JbpmContext jbpmContext = config.createJbpmContext();

TaskMgmtSession session=new TaskMgmtSession(jbpmContext.getSession());

List tasks=session.findTaskInstances("gaga");

3.如何把一個任務安排給用戶?

Task node上添加Task,并添加AssignmentHandler,

public class TaskAsignMent implements AssignmentHandler {

public void assign(Assignable assignable, ExecutionContext executionContext)

throws Exception {

assignable.setActorId("gaga");// assignable就是工作項

}

}

4.泳道(Swimlane)如何使用?

泳道就是用來描述角色的.如果你的某些工作項目是角色來操作的,就可以使用泳道.泳道有點批處理的意思,如果有多個節點是某個角色的用戶來完成的,就需要使用這個東西了,否則在每一個任務上設置AssignmentHandler會累死人的^_^!

5.如何將一個任務安排給用戶?

在任務上設置一個AssignmentHandler,在其execute方法中進行設置,和在任務節點上設置用戶的方法一樣.只不過這里是泳道而已.

6.如何將流程和要流轉的業務系統中的數據結構關聯起來?

在流程啟動的時候,在流程中放一個變量,該變量中存放外部數據結構的id.當用戶得到工作列表的時候,就會取出流程實例中的id,有了id就可以在業務數據庫中取出業務數據了.

7.如何區分在一個任務列表中不同節點上的處理界面?

建立一個節點和界面對應的表即可,用戶選定了任務后,系統根據用戶選定任務的節點的名稱或其他唯一標識符,找出與之對應的界面導航連接后,redirect到該頁面即可.

8.如何圖形化顯示當前流程的狀態?

寫一個servlet,將圖形顯示出來就可以了,:

public class ProcessImageServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

long processDefinitionId = Long.parseLong( request.getParameter( "definitionId" ) );

JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();

ProcessDefinition processDefinition = jbpmContext.getGraphSession().loadProcessDefinition(processDefinitionId);

byte[] bytes = processDefinition.getFileDefinition().getBytes("processimage.jpg");

OutputStream out = response.getOutputStream();

out.write(bytes);

out.flush();

// leave this in.it is in case we want to set the mime type later.

// get the mime type

// String contentType = URLConnection.getFileNameMap().getContentTypeFor( fileName );

// set the content type (=mime type)

// response.setContentType( contentType );

}

}

在創建數據庫表時出現的錯誤

JbpmConfiguration config = JbpmConfiguration

.parseResource("jbpm.cfg.xml");

config.createSchema();

config.close();

提示語法錯誤,更新了hibernate最新版本的就可以。

hibernate-3.1.3,jbpm

9.如何向指定的分支流轉?

TaskInstanceend方法,如下所示:

JbpmConfiguration config = JbpmConfiguration.getInstance();

JbpmContext jbpmContext = config.createJbpmContext();

TaskInstance taskInstance=jbpmContext.getTaskMgmtSession().loadTaskInstance(taskId);

String offshoot="" + param.get(Constant.OFFSHOOT);

//taskInstance.end(offshoot);

taskInstance.end();

jbpmContext.save(taskInstance);

jbpmContext.close();

[@more@]

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遂川县| 台东市| 梁平县| 固原市| 大城县| 乌审旗| 弥勒县| 成武县| 鄂尔多斯市| 繁昌县| 台南市| 景洪市| 宁武县| 红河县| 呼伦贝尔市| 彭阳县| 云霄县| 勐海县| 宝应县| 资源县| 花莲市| 元江| 左云县| 永德县| 乾安县| 宁乡县| 封开县| 泽库县| 黄骅市| 垣曲县| 广宗县| 屯留县| 邢台县| 洛南县| 石嘴山市| 城固县| 新泰市| 汤阴县| 石景山区| 阿瓦提县| 千阳县|