Получение внутренних методов приводит к переменным данным с использованием Spring Boot Aspect @After AdviceJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получение внутренних методов приводит к переменным данным с использованием Spring Boot Aspect @After Advice

Сообщение Anonymous »

Я хочу захватить данные, возвращаемые методом, внутри метода, по которому я хочу дать совет. Я хочу использовать @After, потому что этот метод может генерировать исключения, и я хочу захватывать эти данные независимо от того, является ли «родительский» метод успешным или завершается с ошибкой и завершается с исключением.
Я пробовал различные реализации pointcuts, но не знаю, как настроить подпись аннотации @After. Документация Spring/другие примеры, которые я прочитал, не имеют «расширенного» примера, подобного тому, о котором я прошу. Они более «базовые».
В ОСНОВНОМ это: AspectJ: перехват возвращаемого результата метода внутри другого метода
Но с @After, а не с @После возвращения. @After не поддерживает те же параметры, что и @AfterReturning.
Любые примеры были бы фантастическими, спасибо.
Код класса приложения:< /strong>
package mycode.application;

import class.from.external.jar.ExternalClass;

public class MyClass{
@Autowired
ExternalClass ec;

public ResponseObj method1(RequestObj reqObj) throws Exception {
Object obj;
ResponseObj retObj;
// some code
obj = ec.someMethod(reqObj);
// some code
try{}catch(Exception e{};
return retObj;
}
}

Код класса аспекта:

package mycode.aspect;

import java.util.List;

import * (all the stuff we need to import)

@Aspect
public class MyAspect {

@After("execution (* mycode.application.MyClass(..)")
public void afterMethod1(JoinPoint joinPoint) {

//the execution signature works great to get in here, but I can only get
// args/return object from the joinPoint.
//I want to use the data from obj returned from called method inside method1
//obj = ec.someMethod(..)

);
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... fter-advic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»