/** * 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); }
/** * 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); }
public void uninstallAction(ServiceControllerContext context) { try { Service service = context.getServiceProxy(); service.destroy(); context.getServiceContext().state = ServiceContext.DESTROYED; ObjectName objectName = context.getObjectName(); ServiceController serviceController = context.getServiceController(); serviceController.sendControllerNotification(ServiceMBean.DESTROY_EVENT, objectName); } catch (Throwable t) { log.debug("Error during destroy for " + context.getObjectName(), t); } } }
public void uninstallAction(ServiceControllerContext context) { try { Service service = context.getServiceProxy(); service.stop(); context.getServiceContext().state = ServiceContext.STOPPED; ObjectName objectName = context.getObjectName(); ServiceController serviceController = context.getServiceController(); serviceController.sendControllerNotification(ServiceMBean.STOP_EVENT, objectName); } catch (Throwable t) { log.debug("Error during stop for " + context.getObjectName(), t); } } }
public void uninstallAction(ServiceControllerContext context) { MBeanServer server = context.getServiceController().getMBeanServer(); ObjectName objectName = context.getObjectName(); ServiceCreator.uninstall(server, objectName); context.setTarget(null); } }
/** * Unregisters the MBean from the the MBeanServer. * * @param context The ServiceControllerContext we are uninstalling */ public void uninstallAction(ServiceControllerContext context) { MBeanServer server = context.getServiceController().getMBeanServer(); ObjectName objectName = context.getObjectName(); ServiceCreator.uninstall(server, objectName); context.setTarget(null); } }
public void installAction(ServiceControllerContext context) throws Throwable { Service service = context.getServiceProxy(); service.start(); context.getServiceContext().state = ServiceContext.RUNNING; ObjectName objectName = context.getObjectName(); ServiceController serviceController = context.getServiceController(); serviceController.sendControllerNotification(ServiceMBean.START_EVENT, objectName); }
public void uninstallAction(ServiceControllerContext context) { MBeanServer server = context.getServiceController().getMBeanServer(); ObjectName objectName = context.getObjectName(); ServiceCreator.uninstall(server, objectName); ServiceMetaData metaData = context.getServiceMetaData(); if (metaData != null) context.setTarget(null); } }
public void installAction(ServiceControllerContext context) throws Throwable { Service service = context.getServiceProxy(); service.create(); context.getServiceContext().state = ServiceContext.CREATED; ObjectName objectName = context.getObjectName(); ServiceController serviceController = context.getServiceController(); serviceController.sendControllerNotification(ServiceMBean.CREATE_EVENT, objectName); }
public void installAction(ServiceControllerContext context) throws Throwable { ServiceController controller = context.getServiceController(); ObjectName objectName = context.getObjectName(); // Configure any attributes ServiceMetaData metaData = context.getServiceMetaData(); if (metaData != null) { List<ServiceAttributeMetaData> attrs = metaData.getAttributes(); if (attrs.size() > 0) { ObjectName classLoaderName = metaData.getClassLoaderName(); ServiceConfigurator.configure(null, controller, objectName, classLoaderName, attrs); } } context.getServiceContext().state = ServiceContext.CONFIGURED; }
/** * Change a context * * @param controller the controller * @param context the context * @param requiredState the require state * @param logWait log the waiting dependencies * @throws Throwable for any error */ private void doChange(KernelController controller, ServiceControllerContext context, ControllerState requiredState, String logWait) throws Throwable { if (ControllerMode.ON_DEMAND.equals(context.getMode()) == false) { controller.change(context, requiredState); ControllerState state = context.getState(); if (logWait != null && requiredState.equals(state) == false && state != ControllerState.ERROR) log.debug("Waiting in " + logWait + " of " + context.getObjectName() + " on " + getUnresolvedDependencies(context, requiredState)); } }
/** * Invokes any <code>create</code> method on the the MBean and emits * a {@link ServiceMBean#CREATE_EVENT} notification that the MBean * has been created. * * @param context The ServiceControllerContext we are installing */ public void installAction(ServiceControllerContext context) throws Throwable { Service service = context.getServiceProxy(); service.create(); context.getServiceContext().state = ServiceContext.CREATED; ObjectName objectName = context.getObjectName(); ServiceController serviceController = context.getServiceController(); serviceController.sendControllerNotification(ServiceMBean.CREATE_EVENT, objectName); }
/** * Invokes any <code>start</code> method on the the MBean and emits * a {@link ServiceMBean#START_EVENT} notification that the MBean * has been created. * * @param context The ServiceControllerContext we are installing */ public void installAction(ServiceControllerContext context) throws Throwable { Service service = context.getServiceProxy(); service.start(); context.getServiceContext().state = ServiceContext.RUNNING; ObjectName objectName = context.getObjectName(); ServiceController serviceController = context.getServiceController(); serviceController.sendControllerNotification(ServiceMBean.START_EVENT, objectName); }
/** * Configures the MBean instance with values from the ServiceMetaData. * * @param context The ServiceControllerContext we are installing */ public void installAction(ServiceControllerContext context) throws Throwable { // Configure any attributes ServiceMetaData metaData = context.getServiceMetaData(); if (metaData != null) { ServiceController controller = context.getServiceController(); ObjectName objectName = context.getObjectName(); List<ServiceAttributeMetaData> attrs = metaData.getAttributes(); if (attrs.size() > 0) { ObjectName classLoaderName = metaData.getClassLoaderName(); ServiceConfigurator.configure(null, controller, objectName, classLoaderName, attrs); } } context.getServiceContext().state = ServiceContext.CONFIGURED; }
public void installAction(ServiceControllerContext context) throws Throwable { MBeanServer server = context.getServiceController().getMBeanServer(); ObjectName objectName = context.getObjectName(); ServiceMetaData metaData = context.getServiceMetaData(); Object mbean = context.getTarget(); ServiceInstance instance = ServiceCreator.install(server, objectName, metaData, mbean); context.setTarget(instance.getResource()); }
/** * Unregisters the MBean from the the MBeanServer. * * @param context The ServiceControllerContext we are uninstalling */ public void uninstallAction(ServiceControllerContext context) { ContextRegistry registry = getRegistry(context); registry.removeInstantiatedContext(context); MBeanServer server = context.getServiceController().getMBeanServer(); ObjectName objectName = context.getObjectName(); ServiceCreator.uninstall(server, objectName); ServiceMetaData metaData = context.getServiceMetaData(); if (metaData != null) context.setTarget(null); } }
public ObjectName install(ServiceMetaData metaData, ObjectName loaderName) throws Exception { KernelController controller = kernel.getController(); metaData.setClassLoaderName(loaderName); ObjectName name = metaData.getObjectName(); // Install the context to the configured level ServiceControllerContext context = new ServiceControllerContext(this, metaData); try { doInstall(controller, context); doChange(controller, context, ControllerState.CONFIGURED, "configure"); return context.getObjectName(); } catch (Throwable t) { throw rethrow("Error during install " + name, t); } }
public ObjectName install(ServiceMetaData metaData, ObjectName loaderName) throws Exception { KernelController controller = kernel.getController(); metaData.setClassLoaderName(loaderName); ObjectName name = metaData.getObjectName(); // Install the context to the configured level ServiceControllerContext context = new ServiceControllerContext(this, metaData); try { doInstall(controller, context); doChange(controller, context, ControllerState.CONFIGURED, "configure"); return context.getObjectName(); } catch (Throwable t) { throw rethrow("Error during install " + name, t); } }
/** * Change a context * * @param controller the controller * @param context the context * @param requiredState the require state * @param logWait log the waiting dependencies * @throws Throwable for any error */ private void doChange(KernelController controller, ServiceControllerContext context, ControllerState requiredState, String logWait) throws Throwable { if (ControllerMode.ON_DEMAND.equals(context.getMode()) == false) { controller.change(context, requiredState); ControllerState state = context.getState(); if (logWait != null && requiredState.equals(state) == false && state != ControllerState.ERROR) log.debugf("Waiting in %1s of %2s on %3s", logWait, context.getObjectName(), getUnresolvedDependencies(context, requiredState)); } }
/** * Creates an instance of the MBean from the metadata stored in the context, * and registers it in the MBeanServer. * * @param context The ServiceControllerContext we are installing */ public void installAction(ServiceControllerContext context) throws Throwable { MBeanServer server = context.getServiceController().getMBeanServer(); ObjectName objectName = context.getObjectName(); ServiceMetaData metaData = context.getServiceMetaData(); Object mbean = context.getTarget(); ServiceInstance instance = ServiceCreator.install(server, objectName, metaData, mbean); context.setTarget(instance.getResource()); ContextRegistry registry = getRegistry(context); registry.addInstantiatedContext(context); }