Activiti開發(fā)環(huán)境的配置
一、準(zhǔn)備環(huán)境
1.activiti軟件環(huán)境
1)JDK1.6或者更高版本;
2)支持的數(shù)據(jù)庫有:h2, mysql, oracle, postgres, mysql, db2等;
3)支持activiti5運(yùn)行的jar包;
4)開發(fā)環(huán)境為Eclipse3.7或者以上版本,myeclipse為8.6版本。
2.相關(guān)資源下載
1)JDK可以到sun的官網(wǎng)下載;
2)數(shù)據(jù)庫,例如:mysql可以在官網(wǎng)下載;
3)activiti也可以到Activiti官網(wǎng)下載;
4) Eclipse3.7或者M(jìn)yEclipse8.6也可以到相應(yīng)的網(wǎng)站上獲得下載。
二、安裝流程設(shè)計(jì)器(eclipse插件)
1.安裝方式一
在有網(wǎng)絡(luò)的情況下,安裝流程設(shè)計(jì)器步驟如下:
1)打開Help -> Install New Software. 在如下面板中:
2)在如下Install界面板中,點(diǎn)擊Add按鈕:

配置新裝插件的地址和名稱
3)然后填入下列字段 Name: Activiti BPMN 2.0 designer Location: http://activiti.org/designer/update/

4)回到Install界面,在面板正中列表中把所有展示出來的項(xiàng)目都勾上:

5)點(diǎn)擊復(fù)選框在Detail部分記得選中 "Contact all updates sites.." , 因?yàn)樗鼤?huì)檢查所有當(dāng)前安裝所需要的插件并可以被Eclipse下載.
6)安裝完以后,點(diǎn)擊新建工程new->Other…打開面板,如果看到下圖內(nèi)容:

說明安裝成功了。
在沒有網(wǎng)絡(luò)的情況下,安裝流程設(shè)計(jì)器步驟如下:
1)下載插件的jar包,下載地址:activiti-eclispe-plugin.rar
1)解壓此jar包;
2)把壓縮包中的內(nèi)容放入eclipse根目錄的dropins文件夾下;


3)重啟eclipse,點(diǎn)擊新建工程new->Other…打開面板,如果看到下圖內(nèi)容:

說明安裝成功了。
三、對(duì)流程設(shè)計(jì)器的使用說明
打開菜單Windows->Preferences->Activiti->Save下流程流程圖片的生成方式:

雖然流程引擎在單獨(dú)部署bpmn文件時(shí)會(huì)自動(dòng)生成圖片,但在實(shí)際開發(fā)過程中,自動(dòng)生成的圖片會(huì)導(dǎo)致和BPMN中的坐標(biāo)有出入,在實(shí)際項(xiàng)目中展示流程當(dāng)前位置圖會(huì)有問題。所在完成以上配置后,會(huì)由我們自己來管理流程圖片。在發(fā)布流程時(shí)把流程規(guī)則文件和流程圖片一起上傳就行了。
四、準(zhǔn)備Activiti5開發(fā)環(huán)境
4.0.創(chuàng)建一個(gè)Activiti工程



點(diǎn)擊Finish完成創(chuàng)建
創(chuàng)建成功的項(xiàng)目:

我們的項(xiàng)目目前是Maven結(jié)構(gòu),里面有pom.xml資源配置。業(yè)務(wù)類寫在src/main/java下,相應(yīng)的資源文件放置在src/main/resources下。同理,測試的業(yè)務(wù)類在src/test/java下,相應(yīng)的測試資源文件放置在src/test/resources下。
我們新建一個(gè)lib文件夾,來放置一會(huì)我們即將要加的jar包。

4.1.添加Activiti5的jar包
需要添加以下jar包:


下載地址:activitirest(jb51.net).rar (樣例工程的WEB-INF/lib文件夾下有所有jar) 我們需要導(dǎo)入lib下所有包。添加到classpath中。


由于我們使用的是Mysql數(shù)據(jù)庫,Mysql數(shù)據(jù)庫的鏈接驅(qū)動(dòng)Activiti官方包中并沒有提供,需要我們自己導(dǎo)入。手動(dòng)導(dǎo)入mysql-connector-java.jar,添加到classpath下。
4.2初始化數(shù)據(jù)庫
我們在src/test/java下新建一個(gè)junit包,在該包下創(chuàng)建一個(gè)java類,名為TestActiviti:

內(nèi)容:
package junit;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test;
public class TestActiviti {
/**使用代碼創(chuàng)建工作流需要的23張表*/
@Test
public void createTable(){
//流程引擎ProcessEngine對(duì)象,所有操作都離不開引擎對(duì)象
ProcessEngineConfiguration processEngineConfiguration =
ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
//連接數(shù)據(jù)庫的配置
processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/zhucoder2017?useUnicode=true&characterEncoding=utf8");
processEngineConfiguration.setJdbcUsername("root");
processEngineConfiguration.setJdbcPassword("1234");
//三個(gè)配置
//1.先刪除表,再創(chuàng)建表:processEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP="create-drop"
//2.不能自動(dòng)創(chuàng)建表,需要表存在:processEngineConfiguration.DB_SCHEMA_UPDATE_FALSE="false"
//3.如果表存在,就自動(dòng)創(chuàng)建表:processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE="true"
processEngineConfiguration.setDatabaseSchema(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//獲取工作流的核心對(duì)象,ProcessEngine對(duì)象
ProcessEngine processEngine=processEngineConfiguration.buildProcessEngine();
System.out.println("processEngine:"+processEngine+"Create Success!!");
}
}
上面的類先是獲取ProcessEngineConfiguration工作流引擎配置對(duì)象,來進(jìn)行些數(shù)據(jù)庫參數(shù)的配置,然后使用配置對(duì)象創(chuàng)建工作流的核心對(duì)象ProcessEngine對(duì)象,使用核心引擎對(duì)象創(chuàng)建工作流需要的23張表。
可以看到我們上面創(chuàng)建了ProcessEngineConfiguration配置類,其中配置了數(shù)據(jù)庫的鏈接數(shù)據(jù),那么我們也要?jiǎng)?chuàng)建相應(yīng)的數(shù)據(jù)庫。安裝好Mysql后,打開我們的Mysql的圖形化管理工具,這里我使用的是sqlyog:

打開之后,我們創(chuàng)建相應(yīng)的數(shù)據(jù)庫(和上面鏈接類中的數(shù)據(jù)庫名稱相同即可):

別忘記在lib中加入mysql的jdbc驅(qū)動(dòng)jar包,然后添加到classpath中:
mysql-connector-java-5.1.10-bin.jar
運(yùn)行剛剛我們的測試類,等待一會(huì)后,就會(huì)發(fā)現(xiàn)工作流核心引擎創(chuàng)建成功:

這就意味著我們的工作流需要的23張表已經(jīng)創(chuàng)建成功,我們?nèi)qlyog去看,發(fā)現(xiàn)確實(shí)生成了:

此時(shí),準(zhǔn)備Activiti的環(huán)境除了配置文件外,已經(jīng)全部準(zhǔn)備完畢。
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
springMVC實(shí)現(xiàn)前臺(tái)帶進(jìn)度條文件上傳的示例代碼
本篇文章主要介紹了springMVC實(shí)現(xiàn)前臺(tái)帶進(jìn)度條文件上傳的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01
Springboot?JPA如何使用distinct返回對(duì)象
這篇文章主要介紹了Springboot?JPA如何使用distinct返回對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解
這篇文章主要介紹了mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Java的springcloud Sentinel是什么你知道嗎
這篇文章主要介紹了Java之springcloud Sentinel案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Java使用hutool實(shí)現(xiàn)文件大小的友好輸出
這篇文章主要為大家詳細(xì)介紹了Java如何使用hutool實(shí)現(xiàn)文件大小的友好輸出,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下2023-11-11
利用idea生成webservice客戶端超詳解步驟(wsdl文件的使用)
這篇文章主要給大家介紹了關(guān)于利用idea生成webservice客戶端超詳解步驟,第一次接觸webservice,從采坑到采坑,算是了解了一些,明白了一些,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12

