![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
_sten_ |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
Для применения advice Spring использует проки. То есть если вызвать метод проки-класса, то advice будет выполнен. Проблема в том что если вызывать методы внутри класса, то есть, получается на прямую, то адвайс выполнятся не будет...
Типа надо вызывать:
в доке написано, для ProxyFactory надо установить setExposeProxy(true). но где его установить в applicationContext? и вобще как настроить проксифактори через <aop:config> PS: вот пример:
помогите найти где указать exposeProxy="true" ![]() --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
||||
|
|||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
а можно спросить для каких задач у вас используются аспекты?
мне кажется у вас какие то недочёты в проектировании, аспекты ведь для того и предназначены что-бы вот так напрямую в рабочем классе не вызывать ... |
|||
|
||||
_sten_ |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
да пока никак не используются.
просто пытаюсь разобраться, столкнулся с проблемой решил спросить...
ну как если я определил какой то аспект(в простейшем примере что бы писался лог при вызове всех отмечены методов), то он должен применяться независимо от кого как был вызван метод. если определять аспекты через анотации то можно, сделать так:
типа AnnotationAwareAspectJAutoProxyCreator бин можно использовать вместо <aop:aspectj-autoproxy/> --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
||||
|
|||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
верно. не понятен вот этот код: зачем так вызывать? Добавлено через 3 минуты и 26 секунд
|
|||
|
||||
_sten_ |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: 3 Всего: 3 |
предположим есть класс:
подразумевается что при вызове методов отмечены @Log - пишется лог. так вот если вызвать:
то лог запишется. а если вызвать:
то лог тоже запишется но 1 раз(нужно что бы 2), так как вызвали метод method2() для прокси, а method1() вызвался внутри, непосредственно для target-класса а что бы лог записался 2 раза, в месте отмеченом //**** надо написать: ((Test)AopContext.currentProxy()).method1(); --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |