<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- spring负责创建流程引擎的配置文件 -->
	<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
		<!-- 数据源 -->
		<property name="dataSource" ref="dataSource-activiti" />
		<!-- 配置事务管理器,统一事务 -->
		<property name="transactionManager" ref="transactionManager-activiti" />
		<!-- 设置建表策略,如果没有表,自动创建表 -->
		<property name="databaseSchemaUpdate" value="true" />
		<!-- 设置字体,防止流程图生成时候产生乱码 -->
		<property name="activityFontName" value="宋体"></property>
		<property name="labelFontName" value="宋体"></property>
		<!-- 设置字体,防止xml生成时候产生乱码 -->
		<property name="xmlEncoding" value="GBK"></property>
	</bean>
	<!-- 创建流程引擎对象 -->
	<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
		<property name="processEngineConfiguration" ref="processEngineConfiguration" />
	</bean>
	
	<!-- 
	相当于下面的代码
	RepositoryServicie repositoryService = processEngine.getRepositoryService();
	RuntimeServicie repositoryService = processEngine.getRuntimeServicie();
	TaskServicie taskServicie = processEngine.getTaskServicie();
	HistoryServicie historyServicie = processEngine.getHistoryServicie();
	 -->
	<!-- 由流程引擎对象,提供的方法,创建项目中使用的Activiti工作流的Service -->
	<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="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
	<bean id="formService" factory-bean="processEngine" factory-method="getFormService" />
	<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
</beans>