Всем привет.
В Spring можно сказать новичок.
Нужно сделать простую штуку: есть ряд методов в разных компонентах.
Хочу написать аннотацию, которая бы прозрачно меняла поведение метода на вот такое:
- вызывала бы содержимое метода
- если эксепшн - пробовала бы вызвать еще раз, и так несколько попыток
- если заданное кол-во попыток провалились - вызываем последний эксепшн
- если вызов прошел успешно - возвращаем результат
Подобных методов в коде у меня много.
Я так понимаю, что концептуально вроде подходит под Spring AOP (я с ним еще не имел дело).
Конфигурация на первый взгляд сложновата, но можно разобраться.
Больше всего смущает то что в аспекте нужно указывать точки присоединения типа
@Pointcut("execution(public * com.example.demoAspects.MyService.*(..))")
Вот это боль - хотелось бы просто добавить аннотацию к методу, но если надо еще где-то прописывать - кто то точно накосячит, забудет.
Если более простой способ реализовать данный функционал?
Заранее спасибо.