SpringBoot 2.7: пользовательский аспект аннотации не работаетJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 SpringBoot 2.7: пользовательский аспект аннотации не работает

Сообщение Anonymous »

Ниже приведена моя пользовательская аннотация SkipForTestProfile, которую я создал, чтобы пропустить выполнение для профиля «it», но код SkipForTestProfileAspect не выполняется. Буду признателен, если кто-нибудь поможет мне исправить аспект для выполнения вокруг аннотации @SkipForTestProfile
package com.mp.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SkipForTestProfile {
}

Ниже приведен аспект
package com.mp.aspect;

import java.util.Arrays;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import com.mp.annotations.SkipForTestProfile;

@Aspect
@Component
@Order(1) // Define the order of aspect execution
public class SkipForTestProfileAspect {

@Autowired
private Environment environment;

@Around("@annotation(skipForTestProfile)")
public Object skipMethodForTestProfile(ProceedingJoinPoint joinPoint, SkipForTestProfile skipForTestProfile) throws Throwable {
if(isTestProfile()){
return null;
} else{
return joinPoint.proceed();
}
}

private boolean isTestProfile() {
return Arrays.stream(environment.getActiveProfiles()).anyMatch(s -> s.equals("it"));
}
}

Ниже показано мое использование собственных аннотаций
package com.mp.healthIndicator;

@Component
@Slf4j
@Profile("!it")// this is not working in my case hence created custom annotation
public class HeartBeat{

@PostConstruct
@SkipForTestProfile
protected void init(){
//do health check
}
}


Подробнее здесь: https://stackoverflow.com/questions/764 ... ot-working
Ответить

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

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

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

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

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