diff --git a/framework/spring/module/src/main/java/org/apache/cloudstack/spring/module/model/impl/DefaultModuleDefinitionSet.java b/framework/spring/module/src/main/java/org/apache/cloudstack/spring/module/model/impl/DefaultModuleDefinitionSet.java index 83d2feaa845..6c03c3ce9e1 100644 --- a/framework/spring/module/src/main/java/org/apache/cloudstack/spring/module/model/impl/DefaultModuleDefinitionSet.java +++ b/framework/spring/module/src/main/java/org/apache/cloudstack/spring/module/model/impl/DefaultModuleDefinitionSet.java @@ -101,9 +101,13 @@ public class DefaultModuleDefinitionSet implements ModuleDefinitionSet { log.debug(String.format("Trying to obtain module [%s] context.", moduleDefinitionName)); ApplicationContext context = getApplicationContext(moduleDefinitionName); try { - Runnable runnable = context.getBean("moduleStartup", Runnable.class); - log.info(String.format("Starting module [%s].", moduleDefinitionName)); - runnable.run(); + if (context.containsBean("moduleStartup")) { + Runnable runnable = context.getBean("moduleStartup", Runnable.class); + log.info(String.format("Starting module [%s].", moduleDefinitionName)); + runnable.run(); + } else { + log.debug(String.format("Could not get module [%s] context bean.", moduleDefinitionName)); + } } catch (BeansException e) { log.warn(String.format("Failed to start module [%s] due to: [%s].", moduleDefinitionName, e.getMessage())); if (log.isDebugEnabled()) { @@ -126,6 +130,10 @@ public class DefaultModuleDefinitionSet implements ModuleDefinitionSet { public void with(ModuleDefinition def, Stack parents) { try { String moduleDefinitionName = def.getName(); + if (parents.isEmpty()) { + log.debug(String.format("Could not find module [%s] context as they have no parents.", moduleDefinitionName)); + return; + } log.debug(String.format("Trying to obtain module [%s] context.", moduleDefinitionName)); ApplicationContext parent = getApplicationContext(parents.peek().getName()); log.debug(String.format("Trying to load module [%s] context.", moduleDefinitionName));