1. 程式人生 > >Activity工作流

Activity工作流

說到工作流,我們肯定第一時間想到的是JBPM和Activity,
JBPM是使用Hibernate來管理資料庫的,而Activity則是
比較開放的貼近Mybatis的風格。而現在SSH框架用的也是
越來越少了,所以Activity取代JBPM也是不遠的事。

一、匯入依賴

這裡使用的是Activity的5.15.1版本

<!--activity工作流依賴-->
<dependency>
  <groupId>org.activiti</groupId>
  <artifactId>activiti-engine</artifactId
>
<version>5.15.1</version> </dependency> <!-- activiti 與 Spring 整合 --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>5.15.1</version> </dependency>

二、建立流程圖

idea裡面有流程圖的外掛:ActBPM
File->Settings->Plugins->搜尋 ActBPM ->install
這裡寫圖片描述


這裡寫圖片描述
三、Spring與Activity整合

嗯,接下來和spring的整合 上面註釋應該很詳細了

<bean class="org.activiti.spring.SpringProcessEngineConfiguration" id="processEngineConfiguration">
    <!--配置資料來源-->
    <property name="dataSource" ref="dataSource"/>
    <!--資料庫表更新,若資料庫中不存在表,則自動建立-->
    <property name
="databaseSchemaUpdate" value="true"/>
<!--定時工作流--> <property name="jobExecutorActivate" value="false"/> <!--事務管理--> <property name="transactionManager" ref="txManager"/> <!--解決亂碼--> <property name="activityFontName" value="宋體"/> <property name="labelFontName" value="宋體"/> <!--部署流程圖--> <property name="deploymentResources"> <list> <value>classpath:workflow/*.bmpn</value> </list> </property> </bean> <bean class="org.activiti.spring.ProcessEngineFactoryBean" id="processEngine"> <property name="processEngineConfiguration" ref="processEngineConfiguration"/> </bean> <!--呼叫processEngin中的方法 對7個服務進行注入 在service層中直接自動注入即可--> <!--任務服務--> <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"></bean> <!--表單服務--> <bean id="formService" factory-bean="processEngine" factory-method="getFormService"></bean> <!--歷史資料服務--> <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService"></bean> <!--身份認證服務--> <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"></bean> <!--資料儲存服務--> <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"></bean> <!--管理服務--> <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService"></bean> <!--執行時服務--> <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService"></bean>

四、小demo

接下來把controller層程式碼寫下 service層調上面注入的bean的方法,寫一堆對應你業務邏輯的東西就ok了。
小demo有沒有你心裡沒點逼數嗎?ヽ(°◇° )ノ