/** * Get the classloader for some BeanMetaData * * @param metaData the metaData * @return the classloader * @throws Throwable for any error */ public static ClassLoader getClassLoader(BeanMetaData metaData) throws Throwable { ClassLoaderMetaData clmd = null; if (metaData != null) clmd = metaData.getClassLoader(); return getClassLoader(clmd); }
protected DeploymentUnit addComponent(DeploymentUnit unit, BeanMetaData attachment) { DeploymentUnit component = super.addComponent(unit, attachment); String className = attachment.getBean(); if (className != null) { Object qualifier; if (attachment.getClassLoader() == null) { ClassLoader cl = unit.getClassLoader(); try { qualifier = cl.loadClass(className); } catch (Exception e) { throw new IllegalArgumentException("Exception loading class for ScopeKey addition.", e); } } else { qualifier = className; } component.getScope().addScope(CommonLevels.CLASS, qualifier); } return component; }
@Override public void undeploy(DeploymentUnit unit, BeanMetaData deployment) { BeanMetaDataDeployerPlugin plugin = deployedWithPlugin.remove(deployment.getName()); if (plugin == null || plugin.uninstallContext(controller, unit, deployment) == false) { ControllerContext context = controller.uninstall(deployment.getName()); removeContext(context, unit.getParent()); } // Remove any classloader metadata we added (not necessary if we clone above) ClassLoaderMetaData classLoader = deployment.getClassLoader(); if (classLoader instanceof DeploymentClassLoaderMetaData) deployment.setClassLoader(null); }
if (classLoaderBean.getClassLoader() == null) classLoaderBean.setClassLoader(new AbstractClassLoaderMetaData(new AbstractValueMetaData())); result.add((BeanMetaData) classLoader); ClassLoaderMetaData beanClassLoader = bmd.getClassLoader(); if (beanClassLoader == null)
if (deployment.getClassLoader() == null)