private void transition(State targetState) { // Short-circuit if the service is already at the target state if (this.controller.getState() == targetState) return; StabilityMonitor monitor = new StabilityMonitor(); monitor.addController(this.controller); try { // Force service to transition to desired state Mode targetMode = modeToggle.get(targetState).get(this.controller.getMode()); if (targetMode != null) { this.controller.setMode(targetMode); } monitor.awaitStability(); if (this.controller.getState() == ServiceController.State.START_FAILED) { throw new IllegalStateException(this.controller.getStartException()); } } catch (InterruptedException e) { Thread.currentThread().interrupt(); } finally { monitor.removeController(this.controller); } } }
final org.jboss.msc.service.ServiceController.Mode originalMode = raServiceController.getMode(); final UninterruptibleCountDownLatch latch = new UninterruptibleCountDownLatch(1); raServiceController.addListener(new LifecycleListener() {
public Mode getMode() { return controller.getMode(); }
public Mode getMode() { return controller.getMode(); }
/** {@inheritDoc} */ @Override public Mode getMode() { return getDelegate().getMode(); }
@Override public void listenerAdded(final ServiceController<?> controller) { final ServiceController.Mode mode = controller.getMode(); if (mode == ServiceController.Mode.ACTIVE) { outstanding.incrementAndGet(); } else { controller.removeListener(this); } map.get(mode).incrementAndGet(); }
/** {@inheritDoc} */ @Override public Mode getMode() { return getDelegate().getMode(); }
private static Set<ServiceName> findAllMissingServices(ServiceContainer container) { Set<ServiceName> result = new HashSet<ServiceName>(); for (ServiceName serviceName : container.getServiceNames()) { ServiceController<?> controller = container.getService(serviceName); if (controller != null && controller.getMode() != ServiceController.Mode.NEVER && controller.getMode() != ServiceController.Mode.REMOVE && controller.getSubstate() == ServiceController.Substate.PROBLEM) { result.addAll(controller.getImmediateUnavailableDependencies()); } } return result; } }
private static Set<ServiceName> findAllMissingServices(ServiceContainer container) { Set<ServiceName> result = new HashSet<ServiceName>(); for (ServiceName serviceName : container.getServiceNames()) { ServiceController<?> controller = container.getService(serviceName); if (controller != null && controller.getMode() != ServiceController.Mode.NEVER && controller.getMode() != ServiceController.Mode.REMOVE && controller.getSubstate() == ServiceController.Substate.PROBLEM) { result.addAll(controller.getImmediateUnavailableDependencies()); } } return result; } }
public void restart() { this.controller.addListener(this); this.mode = this.controller.getMode(); this.controller.setMode(ServiceController.Mode.NEVER); }
@Override public synchronized void stop(StopContext context) { ServiceController<?> serviceController = context.getController(); LOGGER.tracef("Stopping: %s in mode %s", serviceController.getName(), serviceController.getMode()); resolver = null; }
@Override public synchronized void stop(StopContext context) { ServiceController<?> controller = context.getController(); LOGGER.tracef("Stopping: %s in mode %s", controller.getName(), controller.getMode()); }
@Override public synchronized void stop(StopContext context) { ServiceController<?> controller = context.getController(); LOGGER.tracef("Stopping: %s in mode %s", controller.getName(), controller.getMode()); }
@Override public synchronized void stop(StopContext context) { ServiceController<?> serviceController = context.getController(); LOGGER.tracef("Stopping: %s in mode %s", serviceController.getName(), serviceController.getMode()); repository = null; }
/** * Tracks a service whose mode is changing for subsequent verification of service stability. * @param service the service */ void serviceModeChanged(ServiceController<?> service) { // This should not be used for removals assert service.getMode() != ServiceController.Mode.REMOVE; if (!executed) { if (addedServices == null || !addedServices.contains(service.getName())) { getServiceVerificationHelper().getMonitor().addController(service); } // else we already handled this when it was added } // else this is rollback stuff we ignore }
/** * Tracks a service whose mode is changing for subsequent verification of service stability. * @param service the service */ void serviceModeChanged(ServiceController<?> service) { // This should not be used for removals assert service.getMode() != ServiceController.Mode.REMOVE; if (!executed) { if (addedServices == null || !addedServices.contains(service.getName())) { getServiceVerificationHelper().getMonitor().addController(service); } // else we already handled this when it was added } // else this is rollback stuff we ignore }
public synchronized void start(StartContext startContext) throws StartException { ServiceController<?> serviceController = startContext.getController(); LOGGER.tracef("Starting: %s in mode %s", serviceController.getName(), serviceController.getMode()); BundleContext syscontext = injectedSystemContext.getValue(); XEnvironment env = injectedEnvironment.getValue(); for (Registration reg : registrations.values()) { registerInternal(syscontext, env, reg); } registrations.clear(); }
public synchronized void start(StartContext startContext) throws StartException { ServiceController<?> serviceController = startContext.getController(); LOGGER.tracef("Starting: %s in mode %s", serviceController.getName(), serviceController.getMode()); BundleContext syscontext = injectedSystemContext.getValue(); XEnvironment env = injectedEnvironment.getValue(); for (Registration reg : registrations.values()) { registerInternal(syscontext, env, reg); } registrations.clear(); }
@Override public synchronized void start(StartContext context) throws StartException { ServiceController<?> serviceController = context.getController(); LOGGER.tracef("Starting: %s in mode %s", serviceController.getName(), serviceController.getMode()); resolver = new StatelessResolver(); }
private void transition(State targetState) { // Short-circuit if the service is already at the target state if (this.controller.getState() == targetState) return; StabilityMonitor monitor = new StabilityMonitor(); monitor.addController(this.controller); try { // Force service to transition to desired state Mode targetMode = modeToggle.get(targetState).get(this.controller.getMode()); if (targetMode != null) { this.controller.setMode(targetMode); } monitor.awaitStability(); if (this.controller.getState() == ServiceController.State.START_FAILED) { throw new IllegalStateException(this.controller.getStartException()); } } catch (InterruptedException e) { Thread.currentThread().interrupt(); } finally { monitor.removeController(this.controller); } } }