91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

博乐市| 岳西县| 柞水县| 新巴尔虎左旗| 聂拉木县| 佛坪县| 丹寨县| 凤庆县| 通海县| 枞阳县| 广汉市| 西青区| 韶关市| 南华县| 榆中县| 洛扎县| 喀喇沁旗| 芦山县| 赤城县| 桂林市| 安多县| 香河县| 额济纳旗| 池州市| 分宜县| 周宁县| 兴化市| 德兴市| 江源县| 吕梁市| 聂拉木县| 揭阳市| 图们市| 四平市| 尉犁县| 水城县| 邹城市| 肥乡县| 泌阳县| 曲周县| 鄢陵县|