private static void doReloadBeanInBeanContexts(BeanManagerImpl beanManager, InjectionTargetBean<?> bean) {
try {
Map<Class<? extends Annotation>, Context> singleContextMap = getSingleContextMap(beanManager);
Context context = singleContextMap.get(bean.getScope());
if (context != null) {
doReloadBeanInContext(beanManager, bean, context);
} else {
Map<Class<? extends Annotation>, List<Context>> allContexts = getContextMap(beanManager);
List<Context> ctxList = allContexts.get(bean.getScope());
if (ctxList != null) {
for(Context ctx: ctxList) {
doReloadBeanInContext(beanManager, bean, ctx);
}
} else {
LOGGER.debug("No active contexts for bean '{}' in scope '{}'", bean.getBeanClass().getName(), bean.getScope());
}
}
} catch (ContextNotActiveException e) {
LOGGER.warning("No active contexts for bean '{}'", e, bean.getBeanClass().getName());
} catch (Exception e) {
LOGGER.warning("Context for '{}' failed to reload", e, bean.getBeanClass().getName());
}
}