논리적 인 대답이있는 것으로 보이지만 확신 할 수는 없지만 확실한 대답은 문서에서 찾을 수 없습니다. 이 시나리오는 다음과 같습니다.어노테이션 기반 및 xml 기반 트랜잭션 정의 우선 순위
<tx:advice id="txAdvice" transaction-manager="jpaTransactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
모든 서비스 방법을 알려주는 XML 기반 트랜잭션 정의가 있습니다. 그러나 구체적인 클래스/메소드에 을 지정하면 propagation
속성을 덮어 쓰게됩니다.
메서드 수준의 @Transactional
은 클래스 수준에서 동일한 수준을 재정의하지만 분명히 <tx:advice>
(실제로는 <aop:pointcut>
)을 재정의합니까?
이제는 TxAdviceBeanDefinitionParser에 무엇이 더 있는지 알아보기 위해 일부 파기도 할 것입니다. – Bozho
'TxAdviceBeanDefinitionParser'에 의해 생성 된 프록시가 호출 될 때 주석을 위해 타겟 빈을 검사하는지 궁금합니다. – skaffman
생성되는 두 개의 TransactionInterceptors에 대한 내 추측은 사실입니다. 나는 봄 포럼에서 (새로운 발견을 포함하여) 질문을했고 결과를 계속 업데이트 할 것이다. – Bozho