tôi đang sử dụng Spring.net 1.2 với NHibernate 2.0.1.
Trong dự án của tôi, tôi đang đối mặt với một số vấn đề về Deadlock và bên cạnh các chỉnh sửa cơ sở dữ liệu để giảm thiểu sự xuất hiện, tôi muốn triển khai Springs RetryAdvice để xử lý việc này.
Tôi không thể tìm thấy bất kỳ ví dụ hoạt động nào về cách định cấu hình này. Các tài liệu tham khảo có vẻ là rõ ràng về cách sử dụng nó, nhưng bằng cách nào đó tôi không thể làm cho nó hoạt động.Cách cấu hình RetryAdvice và ExceptionTranslation cho Deadlocks bằng cách sử dụng NHibernate và Spring
<!--Used to translate NHibernate exception to Spring.DataAccessExceptions-->
<object type="Spring.Dao.Attributes.PersistenceExceptionTranslationPostProcessor, Spring.Data"/>
<!--ExceptionHandler performing Retry on Deadlocks-->
<object name="ExceptionHandlingAdvice" type="Spring.Aspects.RetryAdvice, Spring.Aop">
<property name="retryExpression" value="on exception name DeadLockLoserException retry 3x rate (1*#n + 0.5)"/>
</object>
Tôi đã thêm [Kho lưu trữ] thuộc tính để DAO tôi để ExceptionTranslation kích hoạt và cố gắng thêm các RetryAdvice đến TransactionProxyFactoryObject tôi đang sử dụng nhưng nó sẽ không hoạt động. Tôi không hiểu phải đưa ra lời khuyên này ở đâu. Tôi có phải tuyên bố một PointCut để thêm nó hoặc làm thế nào tôi có thể làm cho nó hoạt động như mong đợi.
Thx trước - bất kỳ trợ giúp nào được đánh giá cao.
Để hoàn thành việc này: ExceptionTranslation tự động đạt được khi sử dụng HibernateTemplate như tôi thực sự làm. – zoidbeck