4
我在Spring 3.0.5中使用基於XML的事務配置。轉移到基於註解不是一種選擇。在基於XML的配置中,等同於@TransactionConfiguration(rollback = true)是什麼?Spring XML tx:相當於@TransactionConfiguration的建議?
目前,我沒有在我的JUnits中強制執行回滾,所以我的數據庫得到了一致的隨機測試數據,必須刪除/清理。另外,我最終在不同的測試運行之間發生PK衝突。
我applicatonContext內容如下:
...
<!-- Wrap all DAO Implementations in a transaction -->
<aop:config proxy-target-class="false">
<aop:pointcut id="daoOperation" expression="execution(* com.calculator.dao.impl.*Impl.* (..))" />
<aop:advisor pointcut-ref="daoOperation" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="*" read-only="true" propagation="REQUIRED"/>
<tx:method name="execute*" propagation="REQUIRED"/>
<tx:method name="query*" propagation="REQUIRED"/>
<tx:method name="insert" propagation="REQUIRED"/>
<tx:method name="delete" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<bean class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="${datasource.url}" />
<property name="username" value="${datasource.user}" />
<property name="password" value="${datasource.password}" />
<property name="defaultAutoCommit" value="false" />
</bean>
...
如何指定我想我所有的JUnits默認回滾?
感謝,
埃裏克
你解決了這個問題嗎?如果是的話,你是如何解決它的? – Xstian 2014-10-13 13:28:40
@ Xstian - 這是一個很久以前的項目。我從來沒有直接找到解決我的問題的方法。我想我最終以這樣的方式重新編寫了我的單元測試,以至於他們從未做過全面的承諾。不幸的是,我不記得比這更多,而且我不再能夠訪問該項目的任何來源。還有可能我咬緊牙關,使用H2 DB而不是Oracle數據庫進行單元測試;我真的不記得了。 – 2014-10-14 02:16:50