Chinaunix
标题:
spring和ibatis集合,事务配置的疑问????
[打印本页]
作者:
freedomch2
时间:
2009-05-12 21:07
标题:
spring和ibatis集合,事务配置的疑问????
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<import resource="applicationContext-security.xml" />
<import resource="applicationContext-service.xml" />
<import resource="applicationContext-action.xml" />
<import resource="applicationContext-dao.xml" />
<!-- iBatis SqlMapClient -->
<bean id="dataaccess.object" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="mappingLocations">
<value>classpath:/com/**/*SqlMap.xml</value>
</property>
<property name="configLocation">
<value>/WEB-INF/SqlMapConfig.xml</value>
</property>
<property name="dataSource" ref="dataaccess.dataSource" />
</bean>
<!-- 事务拦截器 -->
<bean id="dataaccess.transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="dataaccess.transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="*">
ROPAGATION_REQUIRED</prop>
<!-- prop key="find*">
ROPAGATION_REQUIRED,readOnly</prop -->
</props>
</property>
</bean>
<!-- 事务管理器 -->
<bean id="dataaccess.transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataaccess.dataSource" />
</bean>
<!-- 数据源 -->
<bean id="dataaccess.dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>oracle.jdbc.OracleDriver</value>
</property>
<property name="jdbcUrl">
<value>jdbc
racle:thin
127.0.0.1:1521:CH2</value>
</property>
<property name="user">
<value>CH2</value>
</property>
<property name="password">
<value>CHANGCHANG</value>
</property>
<!-- 最少空闲连接数 -->
<property name="minPoolSize">
<value>16</value>
</property>
<!-- 最大空闲连接数 -->
<property name="maxPoolSize">
<value>64</value>
</property>
<!-- 初始连接数 -->
<property name="initialPoolSize">
<value>16</value>
</property>
<!-- 最大空闲时间 -->
<property name="maxIdleTime">
<value>0</value>
</property>
<!-- 连接不足时同时打开的连接数 -->
<property name="acquireIncrement">
<value>8</value>
</property>
<property name="maxStatements">
<value>0</value>
</property>
<property name="idleConnectionTestPeriod">
<value>60</value>
</property>
<property name="acquireRetryAttempts">
<value>1</value>
</property>
<property name="breakAfterAcquireFailure">
<value>false</value>
</property>
<property name="testConnectionOnCheckout">
<value>false</value>
</property>
</bean>
<!-- 事务和权限拦截(控制层对象) -->
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>action.*</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>security.interceptor</value>
<value>dataaccess.transactionInterceptor</value>
</list>
</property>
</bean>
</beans>
-----------------------------------------ibatis配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" maxRequests="512" maxSessions="256" maxTransactions="256" useStatementNamespaces="true" />
<sqlMap resource="com/core/dataaccess/DataAccessSqlMap.xml" />
</sqlMapConfig>
拦截action层
权限拦截器security.interceptor有效
但是dataaccess.transactionInterceptor事务拦截器好像没有反应
在dao层里调用sqlMapClient.getCurrentConnection()返回Null
看API是说没有事务的话才会返回null
各位帮忙看下哪里有毛病?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2