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);