java工作流,java工作流事務

本文目錄一覽:

java,activiti工作流id和配置文件沒問題,但是測試類執行的時候一直拋異常,如下圖,求大神指點迷津

我遇到這個問題是因為,act_re_procdef表中的tenant_id_不為空。

然後改為runtimeService.startProcessInstanceByKeyAndTenantId方法啟動流程

工作流activity流程圖 紅色線條有什麼意義

一、 什麼是工作流

以請假為例,現在大多數公司的請假流程是這樣的

員工打電話(或網聊)向上級提出請假申請——上級口頭同意——上級將請假記錄下來——月底將請假記錄上交公司——公司將請假錄入電腦

採用工作流技術的公司的請假流程是這樣的

員工使用賬戶登錄系統——點擊請假——上級登錄系統點擊允許

就這樣,一個請假流程就結束了

有人會問,那上級不用向公司提交請假記錄?公司不用將記錄錄入電腦?答案是,用的。但是這一切的工作都會在上級點擊允許後自動運行!

這就是工作流技術。

Georgakopoulos給出的工作流定義是:工作流是將一組任務組織起來以完成某個經營過程:定義了任務的觸發順序和觸發條件,每個任務可以由一個或多個軟體系統完成,也可以由一個或一組人完成,還可以由一個或多個人與軟體系統協作完

二、 工作流技術的優點

從上面的例子,很容易看出

工作流系統,實現了工作流程的自動化,提高了企業運營效率、改善企業資源利用、提高企業運作的靈活性和適應性、提高量化考核業務處理的效率、減少浪費(時間就是金錢)。

而手工處理工作流程,一方面無法對整個流程狀況進行有效跟蹤、了解,另一方面難免會出現人為的失誤和時間上的延時導致效率低下,特別是無法進行量化統計,不利於查詢、報表及績效評估。

三、 Java開發者會為什麼要學Activity工作流

在Java領域,JBPM和Activity是兩個主流的工作流系統,而Activity的出現無疑將會取代JBPM(Activity的開發者就是從Jbpm開發者出來的)。

四、 Activity工作流學習要點

1. 1個插件

在Eclipse中安裝Activity插件,讓你可以在Eclipse中繪製Activity工作流圖

2. 1個引擎

ProcessEngine對象,Activity工作流引擎。這是Activiti工作的核心。負責生成流程運行時的各種實例及數據、監控和管理流程的運行。

所有的操作都是從獲取引擎開始的,所以一般會把引擎作為全局變數

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();

3. 1個配置文件

activiti.cfg.xml。Activiti核心配置文件,配置流程引擎創建工具的基本參數和資料庫連接池參數

4. 5種資料庫表

Activiti的後台是有資料庫的支持,所有的表都以ACT_開頭。 第二部分是表示表的用途的兩個字母標識。用途也和服務的API對應。

ACT_RE_*: ‘RE’表示repository。 這個前綴的表包含了流程定義和流程靜態資源(圖片,規則,等等)。

ACT_RU_*: ‘RU’表示runtime。 這些運行時的表,包含流程實例,任務,變數,非同步任務,等運行中的數據。 Activiti只在流程實例執行過程中保存這些數據,在流程結束時就會刪除這些記錄。 這樣運行時表可以一直很小速度很快。

ACT_ID_*: ‘ID’表示identity。 這些表包含身份信息,比如用戶,組等等。

ACT_HI_*: ‘HI’表示history。 這些表包含歷史數據,比如歷史流程實例,變數,任務等等。

ACT_GE_*: 通用數據,用於不同場景下,如存放資源文件。

5. 23張表

不同的表存放不同方面的數據,有流程定義表、任務結點表、流程變數表、任務歷史表等等。

6. 5項Service

不同的Service類對應不同的功能。

比如TaskService,是activiti的任務服務類。可以從這個類中獲取任務的信息。

而HistoryService,則是activiti的查詢歷史信息的類。在一個流程執行完成後,這個對象為我們提供查詢歷史信息。

7. 7項基本操作

設計流程圖(各種組件,如連線、用戶任務、網關)

流程定義增刪改查

流程變數增刪改查

啟動流程定義

任務增刪改查

完成任務

歷史信息查詢

java web中可以不用jbpm 等工作流框架嗎 ,JBPM在OA及其他系統中扮演怎麼樣的角色呢?

個人所見:簡單且不變的流程不必採用類似JBPM之類的笨重的工作流引擎;JBPM整合到OA系統,如果原項目使用hibernate倒很簡單,加些配置就成;web系統是否已經實現審批功能和把工作流整合到框架里不衝突,用不用工作流你都得實現具體的業務審批,使用工作流引擎只是來規範你的業務工作流程。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300403.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 12:51
下一篇 2024-12-29 12:51

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論