Имеет ли значение последовательность имен методов, в которой они указаны в spring-aop-action.xml?
Я наткнулся на файл spring-aop-action.xml в моем проекте. Есть два раздела.
<aop:config>
<aop:advisor
pointcut="execution
Здесь все интерфейсы объявлены. А также
<tx:advice id="TxAdvice" transaction-manager="transactionManager">
<tx:attributes>
Здесь указаны все имена методов. Мне было интересно, если последовательность, в которой упоминаются имена методов, имеют значение, или они должны быть в той же последовательности, что и объявление интерфейсов.
Спасибо за ответы.
РЕДАКТИРОВАТЬ: Как заставить принудительно закрыть открытую транзакцию.
EX:
<tx:method name="updateData" propagation="REQUIRES_NEW"
rollback-for="Exception"/>
Эта транзакция продолжает использоваться другим методом, создающим проблемы. Заранее спасибо.
1 ответ
Вы можете пометить приоритет порядка для ваших аспектов, что означает, что ваши советы выполняются в порядке http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html
@Order(2)
Таким образом, когда несколько точечных сокращений соответствуют цели, рекомендация выполняется в соответствии с порядком приоритета, что означает, что @Order(1) отмеченный аспект (рекомендация) выполняется до @Order(2)
Вы можете проверить пример, сделанный здесь. Заказ аспектов с помощью Spring AOP && MVC