spring 声明式事务管理与oracle的inactive会话。

在开发环境中oracle(系统用户下)总是有30个左右的inaction连接,但是这些连接都没有执sql语句,就是在oracle客户端中查看这些会话,都是该会话没有执行任何SQL语句。探讨一下这些连接是不是由于程序中没有关闭连接造成的。我用的是spring的声明式事务管理,
<jee:jndi-lookup jndi-name="jdbc/abcdexxx" id="dataSource"
		lookup-on-startup="true">
	</jee:jndi-lookup>
	<!-- Transaction manager for a single JDBC DataSource -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!-- 管理事务操作 -->
	<aop:config>
		<aop:pointcut id="servicePointcut"
			expression="execution(* abcdexxx.service.*.*(..))" />
		<aop:pointcut id="servicePointcut2"
			expression="execution(* abcdexxx.service.*.*.*(..))" />
		<aop:pointcut id="workflowJDBCStore"
			expression="execution(* abcdexxx.common.workflow.jdbc.*.*(..))" />
		<aop:advisor advice-ref="txAdvice"
			pointcut-ref="servicePointcut" />
		<aop:advisor advice-ref="txAdvice"
			pointcut-ref="servicePointcut2" />
		<aop:advisor advice-ref="txAdvice"
			pointcut-ref="workflowJDBCStore" />
	</aop:config>
	<!-- 事务控制 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="save*" propagation="REQUIRED" />
			<tx:method name="insert*" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED" />
			<tx:method name="remove*" propagation="REQUIRED" />
			<tx:method name="get*" read-only="true" />
		</tx:attributes>
	</tx:advice><bean id="jdbcTemplate"
		class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<bean id="dao" abstract="true">
		<property name="jdbcTemplate" ref="jdbcTemplate" />
	</bean>

	<!-- 配置本地LobHandle(Oracle) -->
	<bean id="nativeJdbcExtractor"
		class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor"
		lazy-init="true" />
	<bean id="oracleLobHandler"
		class="org.springframework.jdbc.support.lob.OracleLobHandler"
		lazy-init="true">
		<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />
	</bean>
,dao用的是JdbcTemplate。

你可能感兴趣的:(DAO,spring,oracle,sql,配置管理)