public void releaseAll() { synchronized (this) { if (services != null) { for (BinderService service : services) { try { service.release(); } catch (Throwable e) { NamingLogger.ROOT_LOGGER.failedToReleaseBinderService(e); } } services = null; } } }
@Override public void stop(StopContext context) { if(binderService.release()) { //we are the last user, it needs to shut down context.asynchronous(); sharedBindingController.addListener(new LifecycleListener() { @Override public void handleEvent(ServiceController<?> controller, LifecycleEvent event) { if(event == LifecycleEvent.REMOVED) { context.complete(); } } }); } }
public void releaseAll() { synchronized (this) { if (services != null) { for (BinderService service : services) { try { service.release(); } catch (Throwable e) { NamingLogger.ROOT_LOGGER.failedToReleaseBinderService(e); } } services = null; } } }
public void releaseAll() { synchronized (this) { if (services != null) { for (BinderService service : services) { try { service.release(); } catch (Throwable e) { NamingLogger.ROOT_LOGGER.failedToReleaseBinderService(e); } } services = null; } } }
@Override public void transition(final ServiceController<? extends T> serviceController, final ServiceController.Transition transition) { if (transition.getAfter() == ServiceController.Substate.STOPPING) { binderService.release(); serviceController.removeListener(this); } } }
@Override public void stop(StopContext context) { if(binderService.release()) { //we are the last user, it needs to shut down context.asynchronous(); sharedBindingController.addListener(new LifecycleListener() { @Override public void handleEvent(ServiceController<?> controller, LifecycleEvent event) { if(event == LifecycleEvent.REMOVED) { context.complete(); } } }); } }
@Override public void stop(StopContext context) { if(binderService.release()) { //we are the last user, it needs to shut down context.asynchronous(); sharedBindingController.addListener(new LifecycleListener() { @Override public void handleEvent(ServiceController<?> controller, LifecycleEvent event) { if(event == LifecycleEvent.REMOVED) { context.complete(); } } }); } }
@Override public void listenerAdded(final ServiceController<? extends T> serviceController) { if (serviceController.getState() == ServiceController.State.DOWN || serviceController.getState() == ServiceController.State.STOPPING) { binderService.release(); serviceController.removeListener(this); } }
@Override public void stop(StopContext context) { synchronized (this) { if(serviceNames != null) { ServiceContainer container = context.getController().getServiceContainer(); for (ServiceName serviceName : serviceNames) { try { final ServiceController<?> serviceController = container.getService(serviceName); if(serviceController != null) { ((BinderService)serviceController.getService()).release(); } } catch (Throwable e) { NamingLogger.ROOT_LOGGER.failedToReleaseBinderService(e); } } serviceNames = null; } } } }