In Spring 2.5 only first tx-annotation-driven is recognised

原本在 Spring + Hibernate 的平台上, 大概都是使用 tx-annotation-driven 的宣告設定,
來配合@Transational 來使用, 作為 Transation 之用!!….
 
無奈, 到了 Spring 2.5 之後, Spring 的 applicationContext.xml 竟然只能 在第一個 宣告 tx-annotation-driven能夠成功使用!!…
之後經由 Java 前輩的協助 :
改成
<!– DO *NOT* USE <tx:annotation-driven transaction-manager="txManager1" /> –>
<tx:advice id="txAdvice" transaction-manager="txManager1">
    <tx:attributes>
        <tx:method name="save*" propagation="REQUIRED"/>
        <tx:method name="remove*" propagation="REQUIRED"/>
        <tx:method name="*" read-only="true"/>
    </tx:attributes>
</tx:advice>
<aop:config>
    <aop:pointcut id="aopOperation1" expression="execution(* com.test.Service1Impl.*(..))"/>
    <aop:advisor advice-ref="txAdvice1" pointcut-ref="aopOperation1"/>
</aop:config>
改利用 tx:advice + aop 的設定, 這樣才能 work ….
天ㄚ, 為了這個設定, 我竟然花了 4天時間, 來解決這個問題!!….
 
廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s