Имеет ли значение последовательность имен методов, в которой они указаны в 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

Другие вопросы по тегам