Activity工作流
阿新 • • 發佈:2019-02-08
說到工作流,我們肯定第一時間想到的是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有沒有你心裡沒點逼數嗎?ヽ(°◇° )ノ