<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config />
<context:component-scan base-package="com.avit.mmsp" />
<tx:annotation-driven />
<!-- 使用ehcache时,修改此处即可) -->
<!-- <import resource="classpath:applicationContext-ehcache.xml"/> -->
<!-- 使用java-memcached时,修改此处即可) -->
<!-- <import resource="classpath:applicationContext-memcached.xml"/> -->
<!-- 使用xmemcached时,修改此处即可) -->
<!-- <import resource="classpath:applicationContext-xmemcached.xml" /> -->
<!-- AAA的扫描发送信息表定时任务 暂时关闭-->
<import resource="classpath:**/applicationContext-aaa-sendxml-quartz.xml" />
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
<value>classpath:sysconfig.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass">
<value>${c3p0.jdbc.driverClass}</value>
</property>
<property name="jdbcUrl">
<value>${c3p0.jdbc.url}</value>
</property>
<property name="user">
<value>${c3p0.jdbc.username}</value>
</property>
<property name="password">
<value>${c3p0.jdbc.password}</value>
</property>
<!-- 初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
<property name="initialPoolSize">
<value>${c3p0.jdbc.initialPoolSize}</value>
</property>
<!-- 连接池中保留的最小连接数。 -->
<property name="minPoolSize">
<value>${c3p0.jdbc.minPoolSize}</value>
</property>
<!-- 连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize">
<value>${c3p0.jdbc.maxPoolSize}</value>
</property>
<!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime">
<value>${c3p0.jdbc.maxIdleTime}</value>
</property>
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement">
<value>${c3p0.jdbc.acquireIncrement}</value>
</property>
<!-- 每60秒检查所有连接池中的空闲连接。Default: 0 -->
<property name="idleConnectionTestPeriod">
<value>${c3p0.jdbc.idleConnectionTestPeriod}</value>
</property>
<!-- 如果为true,则当连接获取失败时自动关闭数据源,除非重新启动应用程序 -->
<property name="breakAfterAcquireFailure">
<value>${c3p0.jdbc.breakAfterAcquireFailure}</value>
</property>
<!-- 连接池在获得新连接失败时重试的次数,如果小于等于0则无限重试直至连接获得成功 -->
<property name="acquireRetryAttempts">
<value>${c3p0.jdbc.acquireRetryAttempts}</value>
</property>
<!-- 连接池在获得新连接时的间隔时间,单位毫秒 -->
<property name="acquireRetryDelay">
<value>${c3p0.jdbc.acquireRetryDelay}</value>
</property>
<!--
<property name="testConnectionOnCheckout">
<value>false</value>
</property>
<property name="testConnectionOnCheckin">
<value>true</value>
</property>
-->
</bean>
<!-- <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver"><value>${c3p0.jdbc.driverClass}</value></property>
<property name="driverUrl"><value>${c3p0.jdbc.url}</value> </property>
<property name="user" ><value>${c3p0.jdbc.username}</value></property>
<property name="password"><value>${c3p0.jdbc.password}</value></property>
<property name="simultaneousBuildThrottle"><value>${c3p0.jdbc.acquireIncrement}</value></property>
连接池中保留的最小连接数。
<property name="minimumConnectionCount"><value>${c3p0.jdbc.minPoolSize}</value></property>
连接池中保留的最大连接数。Default: 15
<property name="maximumConnectionCount" ><value>${c3p0.jdbc.maxPoolSize}</value></property>
最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0
<property name="maximumActiveTime"><value>${c3p0.jdbc.maxIdleTime}</value></property>
<property name="houseKeepingSleepTime"><value>30000</value></property>
<property name="houseKeepingTestSql"><value>select 1 from dual</value></property>
<property name="testBeforeUse"><value>true</value></property>
<property name="testAfterUse"><value>false</value></property>
<property name="verbose"><value>false</value></property>
<property name="trace"><value>false</value></property>
<property name="alias"><value>proxool.conn</value></property>
</bean> -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
</props>
</property>
<property name="packagesToScan">
<list>
<value>com.avit.mmsp.aaa</value>
<value>com.avit.mmsp.common.message.bean</value>
<value>com.avit.mmsp.common.cachebean</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!--<tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes>
<tx:method name="get*" read-only="true" /> <tx:method name="query*" read-only="true"
/> <tx:method name="find*" read-only="true" /> <tx:method name="*" /> </tx:attributes>
</tx:advice> <aop:config proxy-target-class="true"> <aop:advisor pointcut="execution(*
com.avit.portal.asg.service.*.*(..))" advice-ref="txAdvice"/> </aop:config> -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="query*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<aop:config proxy-target-class="true">
<aop:advisor pointcut="execution(* com.avit.mmsp.aaa.services.*.*(..))"
advice-ref="txAdvice" />
<aop:advisor
pointcut="execution(* com.avit.mmsp.common.message.service.*.*(..))"
advice-ref="txAdvice" />
<aop:advisor pointcut="execution(* com.avit.mmsp.aaa.inteface.purchaseManager.services.*.*(..))"
advice-ref="txAdvice" />
<aop:advisor pointcut="execution(* com.avit.mmsp.aaa.inteface.authenticationManager.service.*.*(..)) and !execution(* com.avit.mmsp.aaa.inteface.authenticationManager.service.*.auth(..))"
advice-ref="txAdvice" />
<aop:advisor pointcut="execution(* com.avit.mmsp.aaa.inteface.chargeManager.service.*.*(..))"
advice-ref="txAdvice" />
<aop:advisor pointcut="execution(* com.avit.mmsp.aaa.inteface.deviceCheck.service.*.*(..))"
advice-ref="txAdvice" />
<aop:advisor pointcut="execution(* com.avit.mmsp.aaa.inteface.school.services.*.*(..))"
advice-ref="txAdvice" />
</aop:config>
</beans>