Перехватчик AspectJ не работает ⇐ JAVA
-
Anonymous
Перехватчик AspectJ не работает
Я создал перехватчик AspectJ, например
@Aspect общественный класс RequestSpecificServiceAspect { @Pointcut("execution( * com.mycompany.c.d.doesTreatmentEqualsAndTrigger(..))") частный недействительный вызовInterceptor(){} @Before("callInterceptor()") общественный недействительный getCallStack() { StackTraceElement[] callStack = Thread.currentThread().getStackTrace(); PopulateServiceDependentMap populateServiceDependentMap = новый PopulateServiceDependentMap (); populateServiceDependentMap.populateMap(callingStack, "ServiceName"); } } Это прекрасно работает, и, поскольку это был пробный код, я заменил его на нужный мне перехватчик, который выглядит вот так
@Pointcut("execution( * mycompany.f.g.findPluginForRequest(..)) && args(request)") Private void factInterceptor (запрос BSFBatchRequest) {} @Before("actualInterceptor(запрос)") public void getBSFCall (запрос BSFBatchRequest) { StackTraceElement[] callStack = Thread.currentThread().getStackTrace(); PopulateServiceDependentMap populateServiceDependentMap = новый PopulateServiceDependentMap (); populateServiceDependentMap.populateMap(callingStack, запрос); } Но теперь мой перехватчик не перехватывает вызов функции findPluginForRequest(). Почему это происходит и как это исправить?
Это мой файл конфигурации Spring (.xml):
Подпись для findPluginForRequest() — это private AllPurposeCache findPluginForRequest(окончательный запрос BSFBatchRequest). Я попытался изменить pointcut на
@Pointcut("execution(private * mycompany.f.g.findPluginForRequest(..)) && args(request)") Private void factInterceptor (запрос BSFBatchRequest) {} Но это всё равно не работает.
Я создал перехватчик AspectJ, например
@Aspect общественный класс RequestSpecificServiceAspect { @Pointcut("execution( * com.mycompany.c.d.doesTreatmentEqualsAndTrigger(..))") частный недействительный вызовInterceptor(){} @Before("callInterceptor()") общественный недействительный getCallStack() { StackTraceElement[] callStack = Thread.currentThread().getStackTrace(); PopulateServiceDependentMap populateServiceDependentMap = новый PopulateServiceDependentMap (); populateServiceDependentMap.populateMap(callingStack, "ServiceName"); } } Это прекрасно работает, и, поскольку это был пробный код, я заменил его на нужный мне перехватчик, который выглядит вот так
@Pointcut("execution( * mycompany.f.g.findPluginForRequest(..)) && args(request)") Private void factInterceptor (запрос BSFBatchRequest) {} @Before("actualInterceptor(запрос)") public void getBSFCall (запрос BSFBatchRequest) { StackTraceElement[] callStack = Thread.currentThread().getStackTrace(); PopulateServiceDependentMap populateServiceDependentMap = новый PopulateServiceDependentMap (); populateServiceDependentMap.populateMap(callingStack, запрос); } Но теперь мой перехватчик не перехватывает вызов функции findPluginForRequest(). Почему это происходит и как это исправить?
Это мой файл конфигурации Spring (.xml):
Подпись для findPluginForRequest() — это private AllPurposeCache findPluginForRequest(окончательный запрос BSFBatchRequest). Я попытался изменить pointcut на
@Pointcut("execution(private * mycompany.f.g.findPluginForRequest(..)) && args(request)") Private void factInterceptor (запрос BSFBatchRequest) {} Но это всё равно не работает.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как заменить стандартный вызов System.currentTimeMillis() через AspectJ?
Anonymous » » в форуме JAVA - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
Мобильная версия