@Override public boolean isRegistered(String name) { ControllerContext ctx = this.kernelController.getInstalledContext(name); return ctx != null; } }
/** * Install a context * * @param controller the controller * @param context the context * @throws Throwable for any error */ private void doInstall(KernelController controller, ServiceControllerContext context) throws Throwable { controller.install(context); installed.put(context.getObjectName(), context); installedOrder.add(context); }
ControllerContext context = controller.getInstalledContext(name); if (context == null) ControllerContext cc = controller.getContext(name, null); throw new NoSuchInstantiatedBeanException("No such instantiated bean: " + name + " [" + cc + "]");
/** * Undeploy a bean * * @param controller the controller * @param context the context of the bean * @throws Throwable for any error */ protected void undeployBean(KernelController controller, KernelControllerContext context) throws Throwable { if (controller.isShutdown() == false) controller.uninstall(context.getName()); else log.debug("Not undeploying " + context.getName() + " the controller is shutdown!"); } }
protected ClassInfo getClassInfo(KernelControllerContext context) throws Throwable { if (bean != null) { KernelController controller = (KernelController) context.getController(); ControllerContext beanContext = controller.getContext(bean, ControllerState.INSTANTIATED); if (beanContext != null) { KernelConfigurator configurator = controller.getKernel().getConfigurator(); Object target = beanContext.getTarget(); return configurator.getClassInfo(target.getClass()); } else { throw new IllegalArgumentException("Cannot determine install bean class: " + this); } } return super.getClassInfo(context); }
/** * Assert there is no context at the given state * * @param name the name of the bean * @param state the state of the bean * @throws IllegalStateException when the context exists at that state */ protected void assertNoControllerContext(final Object name, final ControllerState state) { KernelController controller = kernel.getController(); KernelControllerContext context = (KernelControllerContext) controller.getContext(name, state); if (context != null) throw new IllegalStateException("Did not expect context at state " + state + " ctx=" + context); }
@Override public void undeploy(DeploymentUnit unit, BeanMetaData deployment) { controller.uninstall(deployment.getName()); } }
public Kernel getKernel() { KernelController controller = (KernelController) getController(); if (controller == null) throw new IllegalStateException("Context is not installed in controller"); return controller.getKernel(); }
other = controller.getContext(iDependOn, null); if (other != null) otherState = other.getState(); if (otherState != null && otherState.equals(ControllerState.ERROR) == false) ControllerStateModel states = controller.getStates(); if (states.isBeforeState(otherState, dependentState) == false) print = false;
protected void shutdown() { kernel.getController().shutdown(); }
protected void uninstallActionInternal(KernelControllerContext context) { KernelController controller = (KernelController) context.getController(); Kernel kernel = controller.getKernel(); org.jboss.kernel.spi.registry.KernelRegistry registry = kernel.getRegistry(); Object name = context.getName(); try { controller.removeSupplies(context); } catch (Throwable t) { log.warn("Ignoring removing supplies at uninstall " + name, t); } try { registry.unregisterEntry(name); } catch (Throwable t) { log.warn("Ignoring unregistered entry at uninstall " + name, t); } }
protected void installActionInternal(KernelControllerContext context) throws Throwable { KernelController controller = (KernelController) context.getController(); Kernel kernel = controller.getKernel(); org.jboss.kernel.spi.registry.KernelRegistry registry = kernel.getRegistry(); BeanMetaData metaData = context.getBeanMetaData(); Object name = metaData.getName(); registry.registerEntry(name, context); try { controller.addSupplies(context); } catch (Throwable t) { try { registry.unregisterEntry(name); } catch (Throwable x) { log.warn("Ignoring error reversing install, throwing original error " + name, x); } throw t; } }
Kernel kernel = controller.getKernel(); KernelMetaDataRepository repository = kernel.getMetaDataRepository(); KernelConfigurator configurator = kernel.getConfigurator(); controller.addInstantiatedContext(context);
public String getState(Object name) { KernelController controller = kernel.getController(); ControllerContext context = controller.getContext(name, null); if (context == null) throw new IllegalStateException("Context not installed: " + name); ControllerState state = context.getState(); return state.getStateString(); }
public void uninstall(String name) { try { log.info("uninstalling bean: " + name); if(kernel != null) kernel.getController().uninstall(name); } catch (Exception e) { throw new RuntimeException(e); } }
public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable { ControllerState state = dependentState; if (state == null) state = ControllerState.INSTALLED; KernelController controller = (KernelController)context.getController(); ControllerContext lookup = controller.getContext(getUnderlyingValue(), state); if (lookup == null) throw new Error("Should not be here - dependency failed - " + this); if (lookup instanceof InvokeDispatchContext == false) throw new IllegalArgumentException("Underlying context is not InvokeDispatchContext: " + context); Kernel kernel = controller.getKernel(); KernelConfigurator configurator = kernel.getConfigurator(); Object result = InvokeDispatchHelper.invoke( configurator, lookup.getTarget(), (InvokeDispatchContext)lookup, getMethod(), getParameters() ); if (result == null) result = defaultValue; return info != null ? info.convertValue(result) : result; }
public void start() { // Bootstrap the repository if (repository == null && controller instanceof KernelController) { KernelController kernelController = (KernelController) controller; repository = kernelController.getKernel().getMetaDataRepository().getMetaDataRepository(); } }