ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Yee <r...@cruzio.com>
Subject Re: Programmatic Transaction for Spring and Ibatis SqlMapClient
Date Wed, 27 Aug 2008 01:00:34 GMT
What is this code doing?

       }catch(MultipleErrorsException me){
            txManager.commit(status);
        }

Aren't you committing when an exception occurs?

-R


bala r wrote:
> Hi,
>
> I am using Spring Programmatic transaction in the service layer and  
> service layer calls IBatisDAO(sqlMapClientTemplate) to insert/update.
> Transaction Rollback and commit works fine.
> But if i introduce any new layer between Service and IBatisDAO the 
> transaction rollback is not working...
>
> Here is the code sniplet.
>
>         DefaultTransactionDefinition def = new 
> DefaultTransactionDefinition();
>         
> def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
>         TransactionStatus status = txManager.getTransaction(def);
>         try{
>                 ibatisDAO.process(dataMap, processorId);  //This is 
> direct call to ibatisDAO and transaction process works fine.
>             //ibatisDAOProcessor.process(dataMap);   // This is 
> another layer between Service and IbatisDAO.transaction rollback 
> doesnt work.
>    
>         }catch(MultipleErrorsException me){
>             txManager.commit(status);
>         }
>         txManager.commit(status);
>
>
> Spring config
> ------------------------------
> <bean name="txManager"
>         
> class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
>         <property name="dataSource">
>             <ref bean="inetDs"/>
>         </property>
>     </bean>
>
> <bean id="sqlMap"
>           class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
>         <property name="configLocation">
>             <value>sqlMapConfig.xml</value>
>         </property>
>         <property name="dataSource">
>             <ref bean="datasource"/>
>         </property>
>         <property name="useTransactionAwareDataSource">
>             <value>true</value>
>         </property>
>         <property name="transactionConfigClass">
>             
> <value>com.ibatis.sqlmap.engine.transaction.external.ExternalTransactionConfig</value>
>         </property>
>         <property name="transactionConfigProperties">
>             <props>
>                 <prop key="DefaultAutoCommit">false</prop>
>             </props>
>         </property>
>       </bean>
>
> Thanks in Advance..


Mime
View raw message