日期:2014-05-16 浏览次数:20523 次
通过跟踪数据库连接的使用,发现很多查询没必要要求事务,只要支持事务即可,这样,查询速度快多了。
一方面是和服务器交互次数少了,不必调用setautocommit(true),commit等方法,另一方面,在非事务环境下,查询要快很多,消耗也少。 ?
只要把事务设置成PROPAGATION_SUPPORTS,即可。
<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
??? ??? <property name="transactionManager" ref="transactionManager" />
??? ??? <property name="proxyTargetClass" value="false" />
??? ??? <property name="transactionAttributes">
??? ??? ??? <props>??? ??? ??? ???
???? ??? ??? ??? <prop key="find*">PROPAGATION_SUPPORTS,readOnly</prop>
???? ??? ??? ??? <prop key="query*">PROPAGATION_SUPPORTS,readOnly</prop>
??? ??? ??? ??? <prop key="*">PROPAGATION_REQUIRED</prop>
??? ??? ??? </props>
??? ??? </property>
??? </bean>