У меня проблема с использованием Aspect с аннотацией. Метод аспекта запускается в некоторых методах, но не в некоторых других методах.
Я проверил, что методы общедоступны, и класс, который он не работает, это @Component.
@Aspect
@Component
public class PrometheusCounterMetricAspect {
private static final Map<String, Counter> counters = new HashMap<>();
@Before(
"execution(* *(..)) && @annotation(package.aspects.PrometheusCounterMetric)")
void beforeInsert(JoinPoint joinPoint) {
.....}
Это интерфейс аннотации
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface PrometheusCounterMetric {
String metricName();
}
А в проекте поток есть контроллер -> сервис -> хранилище. Он работает в сервисе, но не в хранилище, несмотря на то, что он является компонентом.