sto usando Spring.net 1.2 con NHibernate 2.0.1.
All'interno del mio progetto sto affrontando alcuni problemi di deadlock e oltre alle modifiche del database per ridurre al minimo l'occorrenza vorrei implementare Springs RetryAdvice per gestire questo.
Non riesco a trovare alcun esempio funzionante su come configurare questo. Il riferimento sembra essere chiaro su come usarlo, ma in qualche modo non riesco a farlo funzionare.Come configurare RetryAdvice ed ExceptionTranslation per Deadlocks usando NHibernate e 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>
ho aggiunto l'attributo [repository] ai miei DAO per ottenere ExceptionTranslation abilitato e ha cercato di aggiungere il RetryAdvice al TransactionProxyFactoryObject sto usando, ma non funzionerà. Non capisco dove mettere questo consiglio. Devo dichiarare un PointCut per aggiungerlo o come posso farlo funzionare come previsto.
Thx in anticipo - qualsiasi aiuto apprezzato.
Per completare questo: ExceptionTranslation si ottiene automaticamente quando si utilizza HibernateTemplate come effettivamente faccio. – zoidbeck