免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2540 | 回复: 0
打印 上一主题 下一主题

spring和ibatis集合,事务配置的疑问???? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-12 21:07 |只看该作者 |倒序浏览
<?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>jdbcracle:thin127.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

各位帮忙看下哪里有毛病?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP