是单例了吧,配置为原型scope="prototype"

解决方案 »

  1.   

    配置了
     <!-- sqlMapClient 配置-->
      <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" scope="prototype">
        <property name="configLocation">
          <value>classpath:config/mybatis/mybatis-config.xml</value>
        </property>
        <property name="mapperLocations">
          <value>classpath*:config/mybatis/test/**/*-mapper.xml</value>
        </property>
        <property name="dataSource">
          <ref bean="huapDataSource" />
        </property>
      </bean>
      
     <!-- 扫描basePackage下所有以@MyBatisRepository注解的接口-->
     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" scope="prototype">
    <property name="basePackage" value="com.hylandtec.icrm.huap"/>
    <property name="annotationClass" value="com.test.mybatis.MyBatisRepository"/>
    <property name="sqlSessionFactory" ref="SqlSessionFactory"/> 
     </bean>
    还是不起作用但hibernate的事务是正常的,一个service里面调用别的service,事务可以正常提交和回滚
      

  2.   

    这两个配置不用scope="prototype",在你action上配置才对。
      

  3.   

    @Controller
    @RequestMapping("html/huap/org")
    @Scope(value="prototype")
    public class OrgController extends BaseController{
    ...
    }配置了,还是不行
      

  4.   

    调用第一个mapper是没问题的,但是调用第二个mapper无论什么方法都是返回第一个mapper的查询结果,如果返回值不匹配还要报错,好像就被缓存起来了一样,始终得不到第二个mapper的方法结果,下面是日志:
    2014-04-11 10:19:11 [ INFO] - com.atomikos.icatch.imp.BaseTransactionManager -Slf4jLogger.java(16) -createCompositeTransaction ( 300000 ): created new ROOT transaction with id 172.22.1.14.tm0000200068
    2014-04-11 10:19:13 [DEBUG] - org.mybatis.spring.SqlSessionUtils -SqlSessionUtils.java(106) -Creating a new SqlSession
    2014-04-11 10:19:13 [DEBUG] - org.mybatis.spring.SqlSessionUtils -SqlSessionUtils.java(122) -Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@168c78e]
    2014-04-11 10:19:13 [ INFO] - com.atomikos.jdbc.AbstractDataSourceBean -Slf4jLogger.java(16) -AtomikosDataSoureBean 'huapDataSource': getConnection ( null )...
    2014-04-11 10:19:13 [ INFO] - com.atomikos.jdbc.AbstractDataSourceBean -Slf4jLogger.java(16) -AtomikosDataSoureBean 'huapDataSource': init...
    2014-04-11 10:19:13 [ INFO] - com.atomikos.jdbc.AtomikosConnectionProxy -Slf4jLogger.java(16) -atomikos connection proxy for oracle.jdbc.driver.LogicalConnection@1ea71d4: calling getAutoCommit...
    2014-04-11 10:19:13 [ INFO] - com.atomikos.jdbc.AtomikosConnectionProxy -Slf4jLogger.java(16) -atomikos connection proxy for oracle.jdbc.driver.LogicalConnection@1ea71d4: calling toString...
    2014-04-11 10:19:13 [DEBUG] - org.mybatis.spring.transaction.SpringManagedTransaction -SpringManagedTransaction.java(85) -JDBC Connection [oracle.jdbc.driver.LogicalConnection@1ea71d4] will be managed by Spring
    2014-04-11 10:19:13 [ INFO] - com.atomikos.icatch.imp.CompositeTransactionImp -Slf4jLogger.java(16) -addParticipant ( XAResourceTransaction: 3137322E32322E312E31342E746D30303030323030303638:3137322E32322E312E31342E746D32 ) for transaction 172.22.1.14.tm0000200068
    2014-04-11 10:19:13 [ INFO] - com.atomikos.datasource.xa.XAResourceTransaction -Slf4jLogger.java(16) -XAResource.start ( 3137322E32322E312E31342E746D30303030323030303638:3137322E32322E312E31342E746D32 , XAResource.TMNOFLAGS ) on resource huapDataSource represented by XAResource instance oracle.jdbc.driver.T4CXAResource@88e720
    2014-04-11 10:19:13 [ INFO] - com.atomikos.icatch.imp.CompositeTransactionImp -Slf4jLogger.java(16) -registerSynchronization ( com.atomikos.jdbc.AtomikosConnectionProxy$JdbcRequeueSynchronization@93e31b1b ) for transaction 172.22.1.14.tm0000200068
    2014-04-11 10:19:13 [ INFO] - com.atomikos.jdbc.AtomikosConnectionProxy -Slf4jLogger.java(16) -atomikos connection proxy for oracle.jdbc.driver.LogicalConnection@1ea71d4: calling prepareStatement...
    2014-04-11 10:19:13 [DEBUG] - org.mybatis.spring.SqlSessionUtils -SqlSessionUtils.java(165) -Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@168c78e]
    2014-04-11 10:19:15 [DEBUG] - org.mybatis.spring.SqlSessionUtils -SqlSessionUtils.java(99) -Fetched SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@168c78e] from current transaction
    2014-04-11 10:19:15 [DEBUG] - org.mybatis.spring.SqlSessionUtils -SqlSessionUtils.java(165) -Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@168c78e]
      

  5.   

    前面是service的日志,和调用第一个mapper方法的日志
    最后3行开始是调用第二个mapper方法的日志,