5.BDF2-JBPM4

2023-07-03 17:15 更新
bdf2-jbpm4模塊不再維護更新
2013年10月01日起,BDF2中集成的jBPM4模塊將不再做任何更新,今后將主推銳道自己的流程引擎UFLO,項目地址為bsdn.org/pro
jects/uflo ,UFLO文檔教程地址為UFLO Home。
BDF2-JBPM4是基于jBPM4流程引擎開發(fā),在這個模塊當中提供了操作流程常用的API、流程模塊的管理與配置、流程模塊的在線調試等眾多常用的流程功能。同樣將BDF2-JBPM4模塊添加到我們的項目當中我們需要到nexus.bsdn.org上下載BDF2-JBPM4模塊相關jar包,或者到我們的項目在線創(chuàng)建向導中勾選BDF2-JBPM4模塊,然后下載項目;如果您采用的是Maven,那么只需要在您項目的pom.xml當中添加BDF2-JBPM4模塊的依賴即可,如下所示:
BDF2-JBPM4模塊所需要的依賴
<dependency>
 <groupId>com.bstek.bdf2</groupId>
 <artifactId>bdf2-jbpm4</artifactId>
 <version>2.0.0</version>
</dependency>
值得注意的是,BDF2-JBPM4模塊在運行時依賴BDF2-JOB模塊,所以如果您是非Maven結構項目,在下載BDF2-JBPM4模塊的Jar后,你還需要將BDF2-JOB模塊及其所依賴的Jar下載下來,當然如果您采用的是Maven來管理項目,那么,在添加BDF2-JBPM4模塊的依賴后,Maven會幫我們自動下載相關依賴信息,比如依賴的BDF2-JOB模塊及相關第三方Jar等。

Jar包配置完成之后,就可以運行我們的項目了。項目啟動時,我們可能會見現(xiàn)下面的異常:
BDF2-JBPM4模塊啟動時可能會出現(xiàn)的異常
Caused by: org.jbpm.api.JbpmException: no 'bdf2.jbpm4.transactionManagerBean' in current
environment
 at org.jbpm.pvm.internal.env.EnvironmentImpl.getFromCurrent(EnvironmentImpl.java:232)
 at org.jbpm.pvm.internal.env.EnvironmentImpl.getFromCurrent(EnvironmentImpl.java:218)
解決辦法比較簡單,我們需要在configure.properties文件當中添加一名為bdf2.jbpm4.transactionManager的屬性,這個屬性的值為當前環(huán)境當中正在使用的Spring的TransactionManager的bean的ID,如果您是通過向導創(chuàng)建的項目,在datasources.xml當中,已存在一個beanid為bdf2.jdbcTransactionManager的TransactionManager對象,所以我們在configure.properties文件當中添加bdf2.jbpm4.transactionManager=bdf2.jdbcTransactionManager即可,再次啟動我們的工程,可以看到工程已經(jīng)可以正常啟動了。
為什么要定義bdf2.jbpm4.transactionManager屬性呢
jBPM4在運行是時,需要當前環(huán)境當中有事務包裹,這樣才能保證流程操作的完整性,所以我們在使用jBPM4的時候就開放出這么一個
名為bdf2.jbpm4.transactionManager屬性,讓我們來選擇當前使用的transactionManager。
在BDF2-JBPM4模塊當中,也提供了一些用于管理的可視化界面,所以,如果您在使用BDF2-JBPM4模塊時,也同時使用了BDF2-CORE模塊,那么可以在登錄之后訪問generate.system.menu.action這個用于初始化菜單的URL,創(chuàng)建好的導航菜單如下圖所示:

jBPM4表的創(chuàng)建

BDF2-JBPM4模塊雖然支持通過Hibernate自動創(chuàng)建jBPM4相關表,但我們推薦使用jBPM4官方提供的建表語句手工創(chuàng)建jBPM4運行時所需要的表,具體方法就是在運行我們的項目之前將這些表手工創(chuàng)建出來,下面羅列了不同數(shù)據(jù)庫下jBPM4的建表Schema:
數(shù)據(jù)庫建表schema
oraclejbpm.oracle.create.sql
db2jbpm.db2.create.sql
mssql2000jbpm.ms2000sql.create.sql
mssql2005jbpm.ms2005sql.create.sql
mysqljbpm.mysql.create.sql
informixjbpm.informix.create.sql
BDF2-JBPM4模塊提供了下面這些屬性允許我們的開發(fā)人員對其進行覆蓋。
屬性名
類型
默認值
描述
bdf2.jbpm4.transactionManagerString指定jBPM4流程引擎要采用的TransactionManager的bean的ID
bdf2.jbpm4.listTodoTaskUrl
String
bdf2.jbpm4.view.todo.TodoTaskMaintain.d
在有BDF2-CORE模塊的前提下,進入主界面之后,會自動提示是否有流程中的待辦任務,如果有點擊會進入到這個屬性指定的URL頁面查看并處理待辦任務
bdf2.jbpm4.defaultProcessUsernameStringbdf2默認的流程處理人的用戶名
bdf2.jbpm4.dataSourceNameString流程模塊采用的數(shù)據(jù)源,為空表示采用默認數(shù)據(jù)源
bdf2.jbpm4.disablePromoterAssignment
boolean
false
是否禁用系統(tǒng)提供的基于流程發(fā)起人的任務分配器。如果為true,那么在任務分配人選擇當中就看不到流程發(fā)起人這個任務分配器。
bdf2.jbpm4.disableSpecifyUserAssignment
boolean
false
是否禁用系統(tǒng)提供的通過指定一個用戶作為流程處理人的任務分配器,同樣,如果禁用就看不到它了。
bdf2.jbpm4.disableFetchTodoTaskCountShortcutRegisterboolean
false
在有BDF2-CORE模塊的前提下,進入主界面之后,會自動提示是否有流程中的待辦任務,提示有多個待辦任務,如果將這個屬性設置為true,那么就不再有這個提示功能。
bdf2.fetchInternalTodoTaskCountInterval
int
600000
在將bdf2.jbpm4.disableFetchTodoTaskCountShortcutRegister設置為true的前提下,設置每隔多久到服務端取一次當前登錄用戶的待辦任務數(shù)量,默認為600000毫秒,也就是10分鐘取一
次。
bdf2.jbpm4.scanTaskReminderJobCronExpressionString0 33 * * * ?實現(xiàn)任務到達周期提醒及任務過期提醒JOB掃描的周期掃描時間,默認為每小時的第33分鐘掃描一次。
bdf2.jbpm4.disableAnonymousDeployProcess
boolean
false
是否禁用不登錄就可部署流程功能,這個主要是為畫流程模版的IDE直接部署流程功能服務的,如果為true,那么用戶只能將流程模版導出,然后到系統(tǒng)提供的“配置與監(jiān)控”當中部署流程模版。
bdf2.jbpm4.disabledCompleteTaskToolbarContentProviderbooleanfalse是否禁用可以為通用工具欄提供完成任務功能的組件提供者
bdf2.jbpm4.disabledJumpNodeToolbarContentProviderbooleanfalse是否禁用可以為通用工具欄提供跳轉任務節(jié)點功能的組件提供者
bdf2.jbpm4.disabledSeeProcessImageToolbarContentProviderbooleanfalse是否禁用可以為通用工具欄提供查看流程圖功能的組件提供者
bdf2.jbpm4.genericTaskToolBarId
String
通用工具欄組件內容要輸出目標工具欄的ID,如果為空,那么系統(tǒng)將自動創(chuàng)建工具欄,否則采用該屬性指定的id對應的工具欄。
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號