Tôi không thể tìm thấy câu trả lời cuối cùng cho tài liệu này và mặc dù có vẻ là câu trả lời hợp lý nhưng không thể chắc chắn. Trường hợp này là - bạn có định nghĩa giao dịch dựa trên xml, như:Định nghĩa giao dịch dựa trên chú giải và dựa trên xml ưu tiên
<tx:advice id="txAdvice" transaction-manager="jpaTransactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
Lời khuyên nào là tất cả các phương pháp dịch vụ. Nhưng sau đó bạn có @Transactional
trên một lớp/phương pháp cụ thể, nơi bạn muốn ghi đè thuộc tính propagation
.
Rõ ràng là @Transactional
ở cấp phương pháp ghi đè cùng một mức ở cấp lớp, nhưng có ghi đè lên <tx:advice>
(và thực tế, <aop:pointcut>
) không?
Tôi hy vọng hai tên lửa đánh chặn sẽ không được tạo ra trên cùng lớp, (và bất cứ xảy ra là đầu tiên sẽ bắt đầu giao dịch)
thú vị, nó hoạt động như chúng tôi đã mong đợi. Bây giờ tôi sẽ làm một số đào cũng như để xem những gì nhiều hơn nữa là để TxAdviceBeanDefinitionParser .. – Bozho
Tôi tự hỏi nếu proxy được tạo ra bởi 'TxAdviceBeanDefinitionParser' là kiểm tra đậu mục tiêu cho chú thích khi được gọi. – skaffman
nó quay ra đoán của tôi về hai TransactionInterceptors được tạo ra là sự thật. Tôi đã đặt câu hỏi (bao gồm các phát hiện mới của tôi) tại diễn đàn mùa xuân và sẽ cập nhật cho bạn kết quả. – Bozho