activiti-spring集成

1、applicationContext.xml

<?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:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<!-- JDBC Properties -->
	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:jdbc.properties</value>
			</list>
		</property>
	</bean>
	<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
		<property name="driver" value="${jdbc.driverClassName}" />
		<property name="driverUrl" value="${jdbc.url}" />
		<!--用户名和密码写在一起才调用成功,不然会报 调用无效的参数 错误,下面设置用户名和密码的property好像是无效的,其它数据库也是这样 
			比如mysql的也要把用户名和密码写在url里:<property name="driverUrl" value="jdbc:mysql://localhost:3306/blogdb?user=lizongbo&amp;password=lizongbo" 
			/> -->
		<property name="user" value="${jdbc.username}" /> <!-- 必须在这里也设置,但是 proxool却不使用它,或许是个bug -->
		<property name="password" value="${jdbc.password}" /> <!-- 必须在这里也设置,但是 proxool却不使用它,或许是个bug -->
		<property name="alias">
			<value>proxooldatabase</value>
		</property>
		<!-- <property name="houseKeepingSleepTime" value="90000" /> -->
		<property name="prototypeCount" value="5" />
		<property name="maximumConnectionCount" value="100" />
		<property name="minimumConnectionCount" value="10" />
		<property name="trace" value="true" />
		<property name="verbose" value="true" />
	</bean>

	<!-- Use JNDI dataSource -->
	<!-- <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
		<property name="jndiName" value="java:comp/env/jdbc/neo"/> </bean> <bean 
		id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property 
		name="dataSource" ref="dataSource" /> </bean> -->
	<!-- hibernate factory -->

	<!-- <property name="configLocation"> <value>classpath:hibernate.cfg.xml</value> 
		</property> -->
	<!-- <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
		<property name="dataSource" ref="dataSource" /> <property name="packagesToScan" 
		value="com.persia.domain" /> <property name="hibernateProperties"> <props> 
		<prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> 
		<prop key="hibernate.format_sql">${hibernate.format_sql}</prop> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop> 
		<prop key="hibernate.hibernate.connection.SetBigStringTryClob">${hibernate.hibernate.connection.SetBigStringTryClob} 
		</prop> <prop key="hibernate.hibernate.archive.autodetection">${hibernate.hibernate.archive.autodetection}</prop> 
		<prop key="hibernate.hibernate.connection.charSet">${hibernate.hibernate.connection.charSet}</prop> 
		<prop key="hibernate.hibernate.cache.use_query_cache">${hibernate.hibernate.cache.use_query_cache}</prop> 
		<prop key="hibernate.hibernate.cache.use_second_level_cache">${hibernate.hibernate.cache.use_second_level_cache} 
		</prop> <prop key="hibernate.hibernate.ejb.naming_strategy">${hibernate.hibernate.ejb.naming_strategy}</prop> 
		</props> </property> </bean> -->
	<!-- <bean id="jdbcTemplate" class="com.framework.service.SysJdbcTemplate"> 
		<property name="dataSource" ref="dataSource" /> </bean> -->
	<!-- <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> 
		<constructor-arg ref="dataSource" /> </bean> -->
	<!--<bean id="callableStatementTemplate" class="com.framework.common.CallableStatementTemplate"> 
		<property name="jdbcTemplate" ref="jdbcTemplate" /> </bean> -->


	<!-- jdbcTranactionManager -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
	</bean>

	<bean id="baseTxService"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
		abstract="true">
		<property name="transactionManager" ref="transactionManager" />
		<property name="proxyTargetClass" value="true" />
		<property name="transactionAttributes">
			<props>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="fetch*">PROPAGATION_REQUIRED</prop>
				<prop key="rank*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>

	<!-- ehcache.xml的配置 -->

	<!-- <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
		</bean> <bean id="demoCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> 
		<property name="cacheManager" ref="cacheManager" /> <property name="cacheName"> 
		<value>sampleCache1</value> </property> </bean> -->

	<!-- freemarker的配置 -->
	<bean id="freemarkerConfigurer"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<property name="templateLoaderPath" value="/WEB-INF/view/" />
		<property name="defaultEncoding" value="UTF-8" />
		<property name="freemarkerSettings">
			<props>
				<prop key="template_update_delay">10</prop>
				<prop key="locale">zh_CN</prop>
				<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
				<prop key="date_format">yyyy-MM-dd</prop>
				<prop key="number_format">#.##</prop>
			</props>
		</property>
	</bean>
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
		<property name="contentType" value="text/html; charset=UTF-8" />
		<property name="cache" value="true" />
		<property name="prefix" value="" />
		<property name="suffix" value=".ftl" />
		<property name="exposeSpringMacroHelpers" value="true" />
		<property name="exposeRequestAttributes" value="true" />
		<property name="exposeSessionAttributes" value="true" />
		<property name="requestContextAttribute" value="request" />
	</bean>

</beans>

 2、applicationContext-activiti.xml

<?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:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<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" />
	</bean>

	<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
		<property name="processEngineConfiguration" ref="processEngineConfiguration" />
	</bean>

	<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
		<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="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" />
</beans>

猜你喜欢

转载自gdfdfg-tech.iteye.com/blog/2194640