欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

Java開發(fā)之Activiti的基本配置

2018-04-18 11:24:37 1693瀏覽

什么是工作流(WorkFlow)

工作流(Workflow),就是通過(guò)計(jì)算機(jī)對(duì)業(yè)務(wù)流程自動(dòng)化執(zhí)行管理。它主要解決的是“使在多個(gè)參與者之間按照某種預(yù)定義的規(guī)則自動(dòng)進(jìn)行傳遞文檔、信息或任務(wù)的過(guò)程,從而實(shí)現(xiàn)某個(gè)預(yù)期的業(yè)務(wù)目標(biāo),或者促使此目標(biāo)的實(shí)現(xiàn)”。比如員工請(qǐng)假,就是由:?jiǎn)T工申請(qǐng)、主管審批、人事確認(rèn)等工作流程組成,在軟件系統(tǒng)中這套流程就被看作一個(gè)工作流。

各種企業(yè)和事業(yè)機(jī)構(gòu)都有可能用到工作流,如:

關(guān)鍵業(yè)務(wù):訂單、報(bào)價(jià)處理、采購(gòu)處理、合同審核、客戶電話處理、供應(yīng)鏈管理等行政管理:出差申請(qǐng)、加班申請(qǐng)、請(qǐng)假申請(qǐng)、用車申請(qǐng)、各種辦公用品申請(qǐng)、購(gòu)買申請(qǐng)、日?qǐng)?bào)周報(bào)等凡是原來(lái)手工流轉(zhuǎn)處理的行政表單。人事管理:?jiǎn)T工培訓(xùn)安排、績(jī)效考評(píng)、職位變動(dòng)處理、員工檔案信息管理等。財(cái)務(wù)相關(guān):付款請(qǐng)求、應(yīng)收款處理、日常報(bào)銷處理、出差報(bào)銷、預(yù)算和計(jì)劃申請(qǐng)等??蛻舴?wù):客戶信息管理、客戶投訴、請(qǐng)求處理、售后服務(wù)管理等。特殊服務(wù):ISO系列對(duì)應(yīng)流程、質(zhì)量管理對(duì)應(yīng)流程、產(chǎn)品數(shù)據(jù)信息管理、貿(mào)易公司報(bào)關(guān)處理、物流公司貨物跟蹤處理等各種通過(guò)表單逐步手工流轉(zhuǎn)完成的任務(wù)均可應(yīng)用工作流軟件自動(dòng)規(guī)范地實(shí)施。

什么是Activiti

Activiti項(xiàng)目是一項(xiàng)新的基于Apache許可的開源BPM平臺(tái),從基礎(chǔ)開始構(gòu)建,旨在提供支持新的BPMN2.0標(biāo)準(zhǔn),包括支持對(duì)象管理組(OMG),面對(duì)新技術(shù)的機(jī)遇,諸如互操作性和云架構(gòu),提供技術(shù)實(shí)現(xiàn)。

創(chuàng)始人TomBaeyens是JBossjBPM的項(xiàng)目架構(gòu)師,以及另一位架構(gòu)師JoramBarrez,一起加入到創(chuàng)建Alfresco這項(xiàng)首次實(shí)現(xiàn)Apache開源許可的BPMN2.0引擎開發(fā)中來(lái)。

Activiti是一個(gè)獨(dú)立運(yùn)作和經(jīng)營(yíng)的開源項(xiàng)目品牌,并將獨(dú)立于Alfresco開源ECM系統(tǒng)運(yùn)行。Activiti將是一種輕量級(jí),可嵌入的BPM引擎,而且還設(shè)計(jì)適用于可擴(kuò)展的云架構(gòu)。Activiti將提供寬松的Apache許可2.0,以便這個(gè)項(xiàng)目可以廣泛被使用,同時(shí)促進(jìn)ActivitiBPM引擎和BPMN2.0的匹配,該項(xiàng)目現(xiàn)正由OMG通過(guò)標(biāo)準(zhǔn)審定。加入AlfrescoActiviti項(xiàng)目的是VMware的SpringSource分支,Alfresco的計(jì)劃把該項(xiàng)目提交給Apache基礎(chǔ)架構(gòu),希望吸引更多方面的BPM專家和促進(jìn)BPM的創(chuàng)新。

Activiti的基本配置

開發(fā)環(huán)境:IDEA+Maven+Activiti6.0

1、Idea安裝Activiti插件

打開Idea選擇File->settings->plugings->點(diǎn)擊選擇Browserepositories

然后在搜索框輸入:actiBPM,看到如下窗體,未安裝的情況下會(huì)出現(xiàn)Install按鈕,點(diǎn)擊按鈕安裝插件,然后重啟Idea。



2、點(diǎn)擊File->New->Project選擇Maven項(xiàng)目

在Maven的項(xiàng)目模板中選擇webapp,創(chuàng)建項(xiàng)目



3、引入相關(guān)的包,activiti的數(shù)據(jù)庫(kù)操作由mybatis實(shí)現(xiàn),還需要依賴spring框架進(jìn)行配置,數(shù)據(jù)庫(kù)這里我們使用MySQL以及c3p0連接池。

在pom.xml的dependencies中添加:

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

<scope>test</scope>

</dependency>

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.4.4</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.40</version>

</dependency>

<dependency>

<groupId>com.mchange</groupId>

<artifactId>c3p0</artifactId>

<version>0.9.5.2</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>4.3.11.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>4.3.11.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-test</artifactId>

<version>4.3.11.RELEASE</version>

</dependency>

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.12</version>

</dependency>

<!--https://mvnrepository.com/artifact/org.activiti/activiti-engine-->

<dependency>

<groupId>org.activiti</groupId>

<artifactId>activiti-engine</artifactId>

<version>6.0.0</version>

</dependency>

<dependency>

<groupId>org.activiti</groupId>

<artifactId>activiti-spring</artifactId>

<version>6.0.0</version>

</dependency>

4、添加配置文件,在項(xiàng)目的resources文件中添加配置文件:

1、配置log4j日志文件log4j.properties

log4j.rootLogger=INFO,Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%-5p-%m%n

2、Activiti的核心配置文件:activiti.cfg.xml,注意:這個(gè)文件名會(huì)由Activiti框架自動(dòng)識(shí)別,所以不要寫錯(cuò)。

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd">

<!--配置數(shù)據(jù)庫(kù)連接池-->

<beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource">

<propertyname="driverClass"value="com.mysql.jdbc.Driver"/>

<property

name="jdbcUrl"value="jdbc:mysql://localhost:3306/act?useUnicode=true&characterEncoding=UTF-8&useSSL=true"/>

<propertyname="user"value="root"/>

<propertyname="password"value="123456"/>

</bean>

<!--配置事務(wù)管理-->

<bean

id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<propertyname="dataSource"ref="dataSource"/>

</bean>

<!--Activiti的配置-->

<bean

id="processEngineConfiguration"class="org.activiti.spring.SpringProcessEngineConfiguration">

<propertyname="dataSource"ref="dataSource"/>

<propertyname="transactionManager"ref="transactionManager"/>

<propertyname="databaseSchemaUpdate"value="true"/>

</bean>

<!--配置工廠,用于創(chuàng)建流程引擎id必須為processEngine-->

<beanid="processEngine"class="org.activiti.spring.ProcessEngineFactoryBean">

<property

name="processEngineConfiguration"ref="processEngineConfiguration"/>

</bean>

</beans>

Activiti數(shù)據(jù)庫(kù)表介紹

單元測(cè)試:

1、在項(xiàng)目的src目錄上右鍵->New->Directory添加test目錄,

2、點(diǎn)擊test目錄右鍵選擇MarkDirectoryAs-->TestSourceDirectory

3、添加單元測(cè)試類ActivitiTest

/**

*工作流單元測(cè)試

*/

publicclassActivitiTest{

@Test

publicvoidtestInitActiviti(){

//獲得流程引擎,自動(dòng)讀取activiti.cfg.xml中的配置

ProcessEngineengine=ProcessEngines.getDefaultProcessEngine();

}

}

4、運(yùn)行單元測(cè)試,會(huì)在MySQL的act數(shù)據(jù)庫(kù)中創(chuàng)建23張表

所有表都是以act開頭,ACT_RE_*:'RE'表示repository。這個(gè)前綴的表包含了流程定義和流程靜態(tài)資源(圖片,規(guī)則,等等)。

ACT_RU_*:'RU'表示runtime。這些運(yùn)行時(shí)的表,包含流程實(shí)例,任務(wù),變量,異步任務(wù)等運(yùn)行中的數(shù)據(jù)。Activiti只在流程實(shí)例執(zhí)行過(guò)程中保存這些數(shù)據(jù),在流程結(jié)束時(shí)就會(huì)刪除這些記錄。這樣運(yùn)行時(shí)表可以一直很小速度很快。

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

ACT_HI_*:'HI'表示history。這些表包含歷史數(shù)據(jù),比如歷史流程實(shí)例,變量,任務(wù)等等。

ACT_GE_*:通用數(shù)據(jù),用于不同場(chǎng)景下。

具體說(shuō)明:



到此我們就完成了Activiti框架的基本配置,后面我們還會(huì)學(xué)習(xí)如何創(chuàng)建和部署工作流,使用工作流完成啟動(dòng)、查詢和審核流程的工作。想要了解更多問(wèn)題的小伙伴可以登錄扣丁學(xué)堂的官網(wǎng)了解更多內(nèi)容??鄱W(xué)堂Java培訓(xùn)不僅有專業(yè)的老師和與時(shí)俱進(jìn)的課程體系,還有大量的Java視頻教程供學(xué)員觀看學(xué)習(xí)哦。Java技術(shù)交流群:670348138。




關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料



查看更多關(guān)于“Java開發(fā)資訊的相關(guān)文章>>

標(biāo)簽: JavaEE視頻教程 JavaEE培訓(xùn) JavaEE開發(fā)工程師 Java培訓(xùn) Java開發(fā)程序員 Java開發(fā)培訓(xùn)

熱門專區(qū)

暫無(wú)熱門資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠(chéng)科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部