2. Activiti与spring集成
2.1 相关jar包
activiti-engine-5.22.0.jar
activiti-diagram-rest-5.22.0.jar
activiti-spring-5.22.0.jar
activiti-modeler-5.22.0.jar
2.2 配置文件
2.2.1 配置文件添加内容
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<!-- 两种建表方式,可选择配置项单独配置,或调用dataSource的bean-->
<!-- <property name="databaseType" value="mysql"></property>
<property name="jdbcUrl" value="${jdbc_url_mysql}"></property>
<property name="jdbcDriver" value="${jdbc_driver_class_mysql}"></property>
<property name="jdbcUsername" value="${jdbc_user_mysql}"></property>
<property name="jdbcPassword" value="${jdbc_password_mysql}"></property>
<property name="transactionManager" ref="transactionManagerMysql"/> -->
<!-- <property name="databaseSchema" value="activiti"></property> -->
<!-- 以上为配置项单独配置 -->
<property name="dataSource" ref="dataSourceMysql" />
<property name="transactionManager" ref="transactionManagerMysql" />
<!-- 以上为调用dataSource -->
<!-- <property name="databaseSchemaUpdate" value="true" /> --> <!-- 自动建表配置,true代表启动时自动建表 -->
<property name="activityFontName" value="宋体"/>
<property name="labelFontName" value="宋体"/>
<property name="customSessionFactories">
<list>
<bean class="com.crsc.sys.activiti.service.ActUserEntityServiceFactory"/>
<bean class="com.crsc.sys.activiti.service.ActGroupEntityServiceFactory"/>
</list>
</property>
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration"></property>
</bean>
<!-- 7种服务 不一定全部使用 -->
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService"/>
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService"/>
<bean id="formService" factory-bean="processEngine" factory-method="getFormService"/>
<bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/>
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService"/>
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService"/>
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService"/>
2.2.2 配置文件说明
(1)数据库配置可选择配置项单独配置或调用原系统中使用的dataSource的bean。
(2)推荐使用dataSource方式,可避免发生autoCommit问题导致的第一次调用activiti框架连接数据库失败的问题。
(3)databaseSchemaUpdate默认为false,在工作流引擎启动时检查数据库脚本的版本和activiti library的版本是否一致。设置为true时,则在脚本结构发生变化时检查表结构是否存在,存在则更新,不存在则创建。设置为create-drop时,当工作流引擎被创建时创建表结构,工作流引擎关闭时删除表结构。
(4)activityFontName和labelFontName属性配置,用于修正流程跟踪图中的中文乱码问题。
(5)customSessionFactories属性主要用来自定义activiti的用户和用户组配置,从而实现activiti和原系统中用户权限管理的集成。