【Activiti:学以致用】【第二章】Activiti的配置文件XML整合与十万个为什么

今天跟大家说怎么配置Activiti的配置xml有什么用,一直问为什么,看看就对了,这是各位童鞋整合Activiti必须要面对的文件,所以请留意了:


<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
  	<!-- 数据库连接池 -->
  	<property name="dataSource" ref="mysqlDataSource" />
  	<!-- 事务 -->
  	<property name="transactionManager" ref="mysqlTransactionManager" />
  	<!-- 数据库自动升级 -->
  	<property name="databaseSchemaUpdate" value="false" />
	<!-- 作业执行器 -->
  	<property name="jobExecutorActivate" value="false" />
    <property name="enableDatabaseEventLogging" value="false" />
    <!-- 历史级别 -->
	<property name="history" value="activity" />
    <!-- 生成流程图的字体 -->
    <property name="activityFontName" value="宋体"/>  
    <property name="labelFontName" value="宋体"/>  
    <property name="customFormTypes">
      <list>
        <bean class="org.activiti.explorer.form.UserFormType"/>
        <bean class="org.activiti.explorer.form.ProcessDefinitionFormType"/> 
        <bean class="org.activiti.explorer.form.MonthFormType"/>   
      </list>
    </property>
   		 <!-- //更换id生成策略
		<property name="idGenerator">
			<bean class="org.activiti.engine.impl.persistence.StrongUuidGenerator" />
		</property>
		-->
	<!--不创建identity表 -->
	<property name="dbIdentityUsed" value="false"/>
	<!--自定义用户和组-->
	<property name="customSessionFactories">
    	<list>
    	     <bean class="com.jy.service.workflow.factory.GroupManagerFactory">
                    <property name="groupEntityManager" >
                     	<bean class="com.jy.service.workflow.factory.GroupManager"/>
                    </property>
            </bean>
        	<bean class="com.jy.service.workflow.factory.UserManagerFactory">
                    <property name="userEntityManager" >
                   		 <bean class="com.jy.service.workflow.factory.UserManager"/>
                    </property>
            </bean>
         </list>
    </property>
  </bean>

dataSource:就是我们系统的数据库配置

transactionManager:就是我们系统的对应事务配置

databaseSchemaUpdate:填true的话,当数据库没有ACT的表会自动创建,填false的话,相对的就是当数据库没有ACT的表会自动创建。(具体表结构可以查看《Activiti数据库表结构(表详细版)》)

jobExecutorActivate:有定时任务的话,这个必须开启,如果没有开启的话,定时任务是启动不了的。

enableDatabaseEventLogging:是否开启工作的数据日志。(一般我都不开,系统日志够多了,呵呵)

history:

  1. 如果是none:忽略所有的历史归档。尽管对于运行期流程执行来说这是性能最高的,但是没有历史信息保留。
  2. 如果是activity:归档所有流程实例和活动实例。不归档细节。
  3. 如果是audit:缺省级别。它归档所有流程实例,活动实例和提交的表单属性。以至于通过表单的所有用户交互都是可跟踪可以被审计。
  4. 如果是full:历史归档的最高级别。所以是最慢的。这个水平保存audit级别的所有信息加上像流程变量的所有其它可能的细节。

idGenerator:Activiti表的id生成策略,本身原生Activiti提供UUID(传说永不重复的牛掰ID策略),默认是Activiti数字自增策略,这个以后篇章再说吧。

activityFontNamelabelFontName:解决中文bug问题的

customFormTypes:自定义表单字段类型 。

dbIdentityUsed:是否创建identity表 。

customSessionFactories:使用自定义用户和组。


然后这里以上就是processEngineConfiguration的基本配置结构了。



然后就是Activiti的核心引擎了,这里介绍的是springmvc的做法,注入引擎类,然后在框架里@Autowired就可以直接调用了,具体这些方法有什么用,请查看《【Activiti:学以致用】【第一章】 工作流核心API


  <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean" destroy-method="destroy">
  	<property name="processEngineConfiguration" ref="processEngineConfiguration" />
  </bean>
  
  <!-- 7大接口 -->
  <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
  <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
  <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
  <bean id="formService" factory-bean="processEngine" factory-method="getFormService" />
  <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
  <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
  <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" /> 


总结:

activityFontName和labelFontName是必须的,不然中文真没法玩啊!!

databaseSchemaUpdate有个好处会自动找对应的数据库版本.sql,原生.sql是分了类的,一般关了比较好,不然每次都要检验一次数据库影响性能,最好还是自己乖乖的导sql吧!!



  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值