From ffc914d846fa835d62264bc1337723b38bafe563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Jandre?= <48719461+JoaoJandre@users.noreply.github.com> Date: Thu, 19 May 2022 00:04:03 -0300 Subject: [PATCH] Log load bean exception (#6356) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Log load bean exception * Address review * import BeansException Co-authored-by: João Paraquetti --- .../com/cloud/utils/component/ComponentContext.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/utils/src/main/java/com/cloud/utils/component/ComponentContext.java b/utils/src/main/java/com/cloud/utils/component/ComponentContext.java index 8948b2789ee..8486dbf4bd4 100644 --- a/utils/src/main/java/com/cloud/utils/component/ComponentContext.java +++ b/utils/src/main/java/com/cloud/utils/component/ComponentContext.java @@ -31,6 +31,7 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.springframework.aop.framework.Advised; +import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.context.ApplicationContext; @@ -72,8 +73,14 @@ public class ComponentContext implements ApplicationContextAware { Map interceptableComponents = getApplicationContext().getBeansOfType(ComponentMethodInterceptable.class); for (Map.Entry entry : interceptableComponents.entrySet()) { - Object bean = getTargetObject(entry.getValue()); - beanFactory.configureBean(bean, entry.getKey()); + try { + Object bean = getTargetObject(entry.getValue()); + beanFactory.configureBean(bean, entry.getKey()); + } catch (BeansException e){ + s_logger.error(String.format("Could not load bean due to: [%s]. The service will be stopped. Please investigate the cause of the error or contact your support team.", e.getMessage()), e); + System.exit(1); + } + } Map lifecycleComponents = getApplicationContext().getBeansOfType(ComponentLifecycle.class);