@Override public void start(StartContext context) throws StartException { this.service.start(context); }
@Override public void stop(StopContext context) { this.service.stop(context); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceName name = this.getServiceName(); ServiceBuilder<?> builder = target.addService(name); Consumer<CacheFactoryBuilder<K, V>> cacheFactoryBuilder = builder.provides(name); Service service = Service.newInstance(cacheFactoryBuilder, this); return builder.setInstance(service).setInitialMode(ServiceController.Mode.ON_DEMAND); }
@Override public void start(final StartContext context) throws StartException { if (this.asyncStart) { Runnable task = () -> { try { this.service.start(context); context.complete(); } catch (StartException e) { context.failed(e); } catch (Throwable e) { context.failed(new StartException(e)); } }; try { this.executor.get().execute(task); } catch (RejectedExecutionException e) { task.run(); } finally { context.asynchronous(); } } else { this.service.start(context); } }
@Override public void stop(final StopContext context) { if (this.asyncStop) { Runnable task = () -> { try { this.service.stop(context); } finally { context.complete(); } }; try { this.executor.get().execute(task); } catch (RejectedExecutionException e) { task.run(); } finally { context.asynchronous(); } } else { this.service.stop(context); } } }
/** * Factory for services providing single value. * * @param injector target * @param value to assign * @param <V> provided value type * @return new service instance */ static <V> Service newInstance(final Consumer<V> injector, final V value) { return new SimpleService<>(injector, value); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceName name = this.getServiceName(); ServiceBuilder<?> builder = target.addService(name); Consumer<DistributableCacheFactoryBuilder<K, V>> cacheFactoryBuilder = builder.provides(name); Service service = Service.newInstance(cacheFactoryBuilder, this); return builder.setInstance(service); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<ThreadPoolFactory> factory = builder.provides(this.getServiceName()); Service service = Service.newInstance(factory, this); return builder.setInstance(service).setInitialMode(ServiceController.Mode.ON_DEMAND); } }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<T> injector = builder.provides(this.getServiceName()); return builder.setInstance(Service.newInstance(injector, this.value)); } }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<String> cluster = builder.provides(this.getServiceName()); Service service = Service.newInstance(cluster, this.cluster); return builder.setInstance(service); } }
@Override public final ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<RegistryFactory<K, V>> factory = this.register(builder).provides(this.getServiceName()); Service service = Service.newInstance(factory, new FunctionalRegistryFactory<>(this)); return builder.setInstance(service).setInitialMode(ServiceController.Mode.ON_DEMAND); } }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<RemoteSiteConfiguration> configuration = new CompositeDependency(this.cluster, this.factory).register(builder).provides(this.getServiceName()); Service service = Service.newInstance(configuration, this); return builder.setInstance(service).setInitialMode(ServiceController.Mode.ON_DEMAND); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<SingletonServiceConfiguratorFactory> factory = builder.provides(this.getServiceName()); Service service = Service.newInstance(factory, new LocalSingletonServiceBuilderFactory()); return builder.setInstance(service); } }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<SingletonServiceConfiguratorFactory> factory = builder.provides(this.getServiceName()); @SuppressWarnings("deprecation") Service service = Service.newInstance(factory, new DistributedSingletonServiceBuilderFactory(this)); return builder.setInstance(service); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceName name = this.getServiceName(); ServiceBuilder<?> builder = target.addService(name); Consumer<CacheFactory<K, V>> factory = new CompositeDependency(this.environment, this.executor).register(builder).provides(name); Service service = Service.newInstance(factory, this); return builder.setInstance(service); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<SingletonPolicy> policy = new CompositeDependency(this.policy, this.factory).register(builder).provides(this.getServiceName()); Service service = Service.newInstance(policy, this); return builder.setInstance(service).setInitialMode(ServiceController.Mode.PASSIVE); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { this.configurator.build(target).install(); ServiceName name = this.getServiceName(); ServiceBuilder<?> builder = target.addService(name); Consumer<CacheFactory<K, V>> factory = new CompositeDependency(this.factory, this.tsr).register(builder).provides(name); Service service = Service.newInstance(factory, this); return builder.setInstance(service); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { this.configurationConfigurator.build(target).install(); this.cacheConfigurator.build(target).install(); ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<SSOManagerFactory<A, D, S, TransactionBatch>> factory = this.affinityFactory.register(builder).provides(this.getServiceName()); this.cache = builder.requires(this.cacheConfigurator.getServiceName()); Service service = Service.newInstance(factory, new InfinispanSSOManagerFactory<>(this)); return builder.setInstance(service).setInitialMode(ServiceController.Mode.ON_DEMAND); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); new CompositeDependency(this.cache, this.affinityFactory, this.repository, this.scheduler, this.group, this.registry, this.dispatcherFactory).register(builder); Consumer<BeanManagerFactory<I, T, TransactionBatch>> factory = builder.provides(this.getServiceName()); Service service = Service.newInstance(factory, new InfinispanBeanManagerFactory<>(this)); return builder.setInstance(service).setInitialMode(ServiceController.Mode.ON_DEMAND); }
@Override public ServiceBuilder<?> build(ServiceTarget target) { ServiceBuilder<?> builder = target.addService(this.getServiceName()); Consumer<ChannelFactory> factory = new CompositeDependency(this.transport, this.relay, this.socketBindingManager).register(builder).provides(this.getServiceName()); this.environment = builder.requires(ServerEnvironmentService.SERVICE_NAME); for (Dependency dependency : this.protocols) { dependency.register(builder); } Service service = Service.newInstance(factory, new JChannelFactory(this)); return builder.setInstance(service).setInitialMode(ServiceController.Mode.ON_DEMAND); }