<?xml version="1.0" encoding="UTF-8"?>
|
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:context="http://www.springframework.org/schema/context"
|
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
|
xmlns:util="http://www.springframework.org/schema/util"
|
xmlns:jaxws="http://cxf.apache.org/jaxws"
|
xsi:schemaLocation="
|
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
|
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
|
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd
|
http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.0.xsd
|
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
|
|
<context:property-placeholder ignore-unresolvable="true" local-override="true"
|
location="classpath*:/application.properties,classpath*:/application.local.properties"/>
|
|
<util:properties id="APP_PROPERTIES" location="classpath:application.properties" local-override="true"/>
|
|
<!-- 数据源配置, 使用DBCP数据库连接池 -->
|
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
|
<!-- Connection Info -->
|
<property name="driverClassName" value="${jdbc.driver}"/>
|
<property name="url" value="${jdbc.url}"/>
|
<property name="username" value="${jdbc.username}"/>
|
<property name="password" value="${jdbc.password}"/>
|
|
<!-- Connection Pooling Info -->
|
<property name="maxActive" value="${dbcp.maxActive}"/>
|
<property name="maxIdle" value="${dbcp.maxIdle}"/>
|
<property name="defaultAutoCommit" value="false"/>
|
<!-- 连接Idle一个小时后超时 -->
|
<property name="timeBetweenEvictionRunsMillis" value="3600000"/>
|
<property name="minEvictableIdleTimeMillis" value="3600000"/>
|
</bean>
|
|
<!-- 使用annotation 自动注册bean, 并保证@Required、@Autowired的属性被注入 -->
|
<context:component-scan base-package="me.kafeitu.demo.activiti">
|
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
|
</context:component-scan>
|
|
<!-- Jpa Entity Manager 配置 -->
|
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
|
<property name="dataSource" ref="dataSource"/>
|
<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/>
|
<property name="packagesToScan" value="me.kafeitu.demo.activiti.entity.oa"/>
|
<property name="jpaProperties">
|
<props>
|
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
|
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
|
<prop key="hibernate.hbm2ddl.auto">update</prop>
|
</props>
|
</property>
|
</bean>
|
|
<bean id="hibernateJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
|
|
<!-- Spring Data Jpa配置 -->
|
<jpa:repositories base-package="me.kafeitu.demo.activiti" transaction-manager-ref="transactionManager"
|
entity-manager-factory-ref="entityManagerFactory"/>
|
|
<!-- Jpa 事务配置 -->
|
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
|
<property name="entityManagerFactory" ref="entityManagerFactory"/>
|
</bean>
|
|
<!-- 使用annotation定义事务 -->
|
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
|
|
<!-- 引擎内部提供的UUID生成器,依赖fastxml的java-uuid-generator模块 -->
|
<bean id="uuidGenerator" class="org.activiti.engine.impl.persistence.StrongUuidGenerator" />
|
|
<!-- Activiti begin -->
|
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
|
<property name="dataSource" ref="dataSource"/>
|
<property name="transactionManager" ref="transactionManager"/>
|
<property name="databaseSchemaUpdate" value="true"/>
|
<property name="jobExecutorActivate" value="false"/>
|
<!--<property name="history" value="full"/>-->
|
<property name="activityFontName" value="宋体" />
|
<property name="processDefinitionCacheLimit" value="10"/>
|
|
<!-- mail -->
|
<property name="mailServerHost" value="localhost"/>
|
<property name="mailServerUsername" value="kafeitu"/>
|
<property name="mailServerPassword" value="000000"/>
|
<property name="mailServerPort" value="2025"/>
|
|
<!-- UUID作为主键生成策略
|
<property name="idGenerator" ref="uuidGenerator" />
|
-->
|
|
<!-- 生成流程图的字体 -->
|
<property name="activityFontName" value="${diagram.activityFontName}"/>
|
<property name="labelFontName" value="${diagram.labelFontName}"/>
|
|
<!-- 缓存支持
|
<property name="processDefinitionCache">
|
<bean class="me.kafeitu.demo.activiti.util.cache.DistributedCache" />
|
</property>-->
|
|
<!-- 自动部署 -->
|
<property name="deploymentResources">
|
<list>
|
<value>classpath*:/deployments/*</value>
|
</list>
|
</property>
|
|
<!-- 自定义表单字段类型 -->
|
<property name="customFormTypes">
|
<list>
|
<bean class="me.kafeitu.demo.activiti.activiti.form.UsersFormType"/>
|
</list>
|
</property>
|
|
<!-- JPA -->
|
<property name="jpaEntityManagerFactory" ref="entityManagerFactory" />
|
<property name="jpaHandleTransaction" value="false" />
|
<property name="jpaCloseEntityManager" value="false" />
|
|
<!-- 全局事件 -->
|
<property name="typedEventListeners">
|
<map>
|
<entry key="VARIABLE_CREATED" >
|
<list>
|
<ref bean="variableCreateListener"/>
|
</list>
|
</entry>
|
</map>
|
</property>
|
</bean>
|
|
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
|
<property name="activityFontName" value="宋体" />
|
<property name="processEngineConfiguration" ref="processEngineConfiguration"/>
|
</bean>
|
|
<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"/>
|
<!-- Activiti end -->
|
|
<jaxws:endpoint id="leaveWebService" implementor="me.kafeitu.demo.activiti.webservice.LeaveWebServiceImpl" address="/leave"/>
|
</beans>
|