This is an automated email from the ASF dual-hosted git repository.

nvazquez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new ffc914d846 Log load bean exception (#6356)
ffc914d846 is described below

commit ffc914d846fa835d62264bc1337723b38bafe563
Author: João Jandre <[email protected]>
AuthorDate: Thu May 19 00:04:03 2022 -0300

    Log load bean exception (#6356)
    
    * Log load bean exception
    
    * Address review
    
    * import BeansException
    
    Co-authored-by: João Paraquetti <[email protected]>
---
 .../main/java/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 8948b2789e..8486dbf4bd 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<String, ComponentMethodInterceptable> interceptableComponents = 
getApplicationContext().getBeansOfType(ComponentMethodInterceptable.class);
         for (Map.Entry<String, ComponentMethodInterceptable> 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<String, ComponentLifecycle> lifecycleComponents = 
getApplicationContext().getBeansOfType(ComponentLifecycle.class);

Reply via email to