2016-10-12 1 views
2

J'ai rencontré un fichier spring-aop-transaction.xml dans mon projet. Il y a deux sections.La séquence des noms de méthodes dans lesquels ils sont spécifiés dans spring-aop-transaction.xml est-elle importante?

<aop:config> 
    <aop:advisor 
     pointcut="execution 

Ici, toutes les interfaces sont déclarées. Et

<tx:advice id="TxAdvice" transaction-manager="transactionManager"> 
     <tx:attributes> 

Voici spécifiés tous les noms de méthode. Je me demandais si la séquence dans laquelle les noms de méthodes sont mentionnés fait une différence ou s'ils doivent être exactement dans la même séquence que la déclaration des interfaces.

Merci pour les réponses.

EDIT: Comment forcer la fermeture d'une transaction ouverte.

EX:

<tx:method name="updateData" propagation="REQUIRES_NEW" 
    rollback-for="Exception"/> 

Cette opération continue d'être utilisé par une autre méthode de créer des problèmes. Merci d'avance.

Répondre

2

Vous pouvez marquer la priorité de l'ordre pour vos aspects, signifie efficacement votre CONSEILLE courir pour http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html#aop-ataspectj-advice-ordering

@Order (2)

Ainsi, lorsque plusieurs coupes de points correspondant à une cible, les conseils sont exécutées sur la base là-bas ordre de priorité, les moyens @Order (1) aspet (conseils) sont exécutées avant @Order (2)

Vous pouvez consulter un exemple ici fait Ordering aspects with Spring AOP && MVC