/** * Compares two KernelControllerContextCreators' relative orders * @param o1 The first KernelContextCreator * @param o2 The second KernelContextCreator * @return An integer as per the {@link Comparator#compare(Object, Object)} contract */ public int compare(BeanMetaDataDeployerPlugin o1, BeanMetaDataDeployerPlugin o2) { if (o1.getRelativeOrder() < o2.getRelativeOrder()) return -1; if (o1.getRelativeOrder() > o2.getRelativeOrder()) return 1; return 0; } }
KernelControllerContext context = plugin.createContext(controller, unit, deployment); if (context != null)
@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); }