activiti工程環境搭建和流程圖創建
當一個業務需要的多個參與者來參與執行的時候,如果我們要自己編程的話,我們需要對業務非常的熟悉,並且在編程的時候要做一系列復雜的判斷,如果出現第一種情況,我們要怎麽辦,如果出現第二種情況,我們又該怎麽辦,這是一個工作量非常大的事情,因為各個關系耦合性相對較高,所以我們又很難保證我們的系統一定會成功,然而大神們為了解決我們這個問題,專門開發了一個用於解決多用於之間操作的框架,工作流(WorkFlow)Activiti。
工作流主要解決的主要問題是:為了實現某個業務目標,利用計算機在多個參與者之間按某種預定規則自動傳遞文檔、信息或者任務。
舉個例子,如果我們要請假,我們需要先找項目經理請假,然後項目經理找老總批示,老總最後決定這個假給還是不給,這樣的話就是一個典型的工作流業務。話不多說,我們看看我們如果將這個過程在代碼中如何利用工作流來呈現。
新建一個工程(Project),選擇Dynamic Web Project,工程名稱叫做ActivitiDemo01,既然是人家做好的一個框架,我們需要搭建一個基本的框架,因為這裏是做的一個基本的演示,我就沒有按照經典的SSH來搭建,而是簡單的一個框架。
環境搭建
1.選擇jar包。
下載activiti-5.13,打開後,把activiti-5.13\wars\activiti-rest\WEB-INF\lib個下的包都考到項目WEB-INF下的lib文件夾下,當然還需要一個mysql的驅動jar包,這樣我們需要的jar包就都有了。
2.配置文件
打開activiti-5.13文件夾-->打開wars,我們會看到activit-content.xml文件,拷貝下來,粘貼到工程下的resource願文件夾下,重命名為acitiviti.cfg.xml,打開後把除引用外的內容都刪除,並寫上如下代碼:
[html] view plain copy
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activitiDemo?useUnicode=true&characterEncoding=utf8"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="root"></property>
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
3.創建數據庫
這裏我們用的是activiti自帶的數據庫,因為在activitie.jar中的實體都有了,我們需要些一個測試方法,用來創建數據庫。打開數據庫(mySql),然後創建數據庫activitiDemo,然後創建要給測試類在test的原文件夾下,代碼如下:
[java] view plain copy
@Test
public void test() {
ProcessEngine processEngine = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("activiti.cfg.xml")
.buildProcessEngine();
System.out.println("processEngine:"+ processEngine);
}
現在mysql中新建一個數據庫,叫activitiDemo,然後執行上邊的代碼來創建表,這個過程稍微長一些,耐心等待即可。
這樣一個基本的環境就搭建好了。有了jar包,有了配置文件,有了數據庫,接下來我們就穿件一個簡單的請假流程圖。
workFlow畫圖
在resource下新建page-->diagrams,右鍵新建--->other-->Activiti Diagram,看到如下界面:
如上圖:左半部分是畫圖區,右半部份是工具欄,這樣我們就可以畫了,咱們先畫一個簡單的請假吧:
點擊空白處,設置流程圖的ID和那麽,點擊任務,設置相應的名稱,是不是非常的簡單
activiti工程環境搭建和流程圖創建