diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java index ed87e8947..ea41fee6f 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java @@ -145,14 +145,14 @@ public class GenericResponseService implements ApplicationContextAware { private final Lock reentrantLock = new ReentrantLock(); /** - * The Context. + * The constant LOGGER. */ - private ApplicationContext applicationContext; + private static final Logger LOGGER = LoggerFactory.getLogger(GenericResponseService.class); /** - * The constant LOGGER. + * A list of all beans annotated with {@code @ControllerAdvice} */ - private static final Logger LOGGER = LoggerFactory.getLogger(GenericResponseService.class); + private List controllerAdviceBeans; /** * Instantiates a new Generic response builder. @@ -702,8 +702,6 @@ private Map getGenericMapResponse(HandlerMethod handlerMeth .map(ControllerAdviceInfo::getApiResponseMap) .collect(LinkedHashMap::new, Map::putAll, Map::putAll); - List controllerAdviceBeans = ControllerAdviceBean.findAnnotatedBeans(applicationContext); - List controllerAdviceInfosNotInThisBean = controllerAdviceInfos.stream() .filter(controllerAdviceInfo -> getControllerAdviceBean(controllerAdviceBeans, controllerAdviceInfo.getControllerAdvice()) @@ -834,6 +832,6 @@ private boolean isGlobalException(Class exceptionClass) { @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.applicationContext = applicationContext; + controllerAdviceBeans = ControllerAdviceBean.findAnnotatedBeans(applicationContext); } }