@Transactional
クラスレベルまたはメソッドレベルでマークされたSpring Beanがあり、<aop:config>
トランザクションアドバイスを追加するために使用するSpring XMLにもあるとします。
どちらの構成もうまく連携できると思いますが、構成に互換性がない場合 (たとえば、PROPAGATION_MANDATORY と PROPAGATION_NEVER)、Spring がそのコンテキストとプロキシを作成するとき、どちらの構成が優先されますか?
@Transactional
クラスレベルまたはメソッドレベルでマークされたSpring Beanがあり、<aop:config>
トランザクションアドバイスを追加するために使用するSpring XMLにもあるとします。
どちらの構成もうまく連携できると思いますが、構成に互換性がない場合 (たとえば、PROPAGATION_MANDATORY と PROPAGATION_NEVER)、Spring がそのコンテキストとプロキシを作成するとき、どちらの構成が優先されますか?
重複した質問からの回答を明示するには、次を使用します。
<tx:annotation-driven transaction-manager="txManager" order="X"/>
<tx:advice id="txAdvice" transaction-manager="txManager">
<aop:config>
<aop:pointcut id="pointcut" expression="..."/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" order="Y"/>
</aop:config>
... 'X' と 'Y' の低い方が優先されます。