Использование @AfterThrowing с @ExceptionHandler - PullRequest
0 голосов
/ 19 ноября 2018
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class ExceptionAlerts {
    public ExceptionAlerts() {
        System.err.println("Class Scanned");
    }

@AfterThrowing(pointcut = "com.name.papp.star", throwing = "ex")
public void doRecoveryAction(Throwable ex) throws Throwable {
    System.err.println(">>>>>>>>>>>>>>>>Recovery Actions++++++++++++++++");
    }
}

Сервисный интерфейс

public interface SignInService {
    CustomerSignInDTO signIn()
        throws LappException;
}    

Класс реализации услуги

public class SignInServiceImpl implements SignInService {
    @Override
    @Transactional(readOnly = false, rollbackFor = Exception.class)
    public CustomerSignInDTO signInCustomer(CustomerDeviceDTO customerDeviceDTO, 
                         String mobileNumber, boolean createIfNotExist) 
                         throws LappException {
                  // Throwing Exception Here
    }
}

Проблема - Весна-Boot-1.2.5

Метод doRecoveryActions никогда не вызывается. Я также использую @ExceptionHandler где-то, чтобы подготовить ответ об ошибке. Это потому что @ExceptionHandler перехватывает все исключения, а doRecoveryActions никогда не вызывается? Любые предложения будут оценены!

...