public CompositeServiceBuilder( ServiceName<Void> name, ServiceContainer container, ServiceName<?>... additionalDependencies) { this.compositeServiceName = name; this.container = (ServiceContainerImpl) container; final ServiceBuilder<Void> installServiceBuilder = container.createService(compositeServiceName, new CompositeService()); for (ServiceName<?> serviceName : additionalDependencies) { installServiceBuilder.dependency(serviceName); } installFutures.put(compositeServiceName, (ActorFuture) installServiceBuilder.install()); }
public CompositeServiceBuilder( ServiceName<Void> name, ServiceContainer container, ServiceName<?>... additionalDependencies) { this.compositeServiceName = name; this.container = (ServiceContainerImpl) container; final ServiceBuilder<Void> installServiceBuilder = container.createService(compositeServiceName, new CompositeService()); for (ServiceName<?> serviceName : additionalDependencies) { installServiceBuilder.dependency(serviceName); } installFutures.put(compositeServiceName, (ActorFuture) installServiceBuilder.install()); }
protected ActorFuture<ClientTransport> createClientTransport( final ServiceContainer serviceContainer, final String name, final ByteValue sendBufferSize, final Collection<IntTuple<SocketAddress>> defaultEndpoints) { final ClientTransportService service = new ClientTransportService(name, defaultEndpoints, sendBufferSize); return serviceContainer .createService(TransportServiceNames.clientTransport(name), service) .install(); } }
protected ActorFuture<ClientTransport> createClientTransport( final ServiceContainer serviceContainer, final String name, final ByteValue sendBufferSize, final Collection<IntTuple<SocketAddress>> defaultEndpoints) { final ClientTransportService service = new ClientTransportService(name, defaultEndpoints, sendBufferSize); return serviceContainer .createService(TransportServiceNames.clientTransport(name), service) .install(); } }
protected void createDispatcher( final ServiceContainer serviceContainer, final ServiceName<Dispatcher> name, final ByteValue sendBufferSize) { final DispatcherBuilder dispatcherBuilder = Dispatchers.create(null).bufferSize(sendBufferSize); final DispatcherService receiveBufferService = new DispatcherService(dispatcherBuilder); serviceContainer.createService(name, receiveBufferService).install(); }
protected void createDispatcher( final ServiceContainer serviceContainer, final ServiceName<Dispatcher> name, final ByteValue sendBufferSize) { final DispatcherBuilder dispatcherBuilder = Dispatchers.create(null).bufferSize(sendBufferSize); final DispatcherService receiveBufferService = new DispatcherService(dispatcherBuilder); serviceContainer.createService(name, receiveBufferService).install(); }
@Override public void init(final SystemContext context) { final ServiceContainer serviceContainer = context.getServiceContainer(); final MetricsFileWriterService metricsFileWriterService = new MetricsFileWriterService(context.getBrokerConfiguration().getMetrics()); serviceContainer.createService(METRICS_FILE_WRITER, metricsFileWriterService).install(); final LeaderManagementRequestHandler requestHandlerService = new LeaderManagementRequestHandler(); serviceContainer .createService(LEADER_MANAGEMENT_REQUEST_HANDLER, requestHandlerService) .dependency( bufferingServerTransport(MANAGEMENT_API_SERVER_NAME), requestHandlerService.getManagementApiServerTransportInjector()) .groupReference( LEADER_PARTITION_GROUP_NAME, requestHandlerService.getLeaderPartitionsGroupReference()) .install(); } }
@Override public void init(SystemContext context) { final ServiceContainer serviceContainer = context.getServiceContainer(); final List<ExporterCfg> exporters = context.getBrokerConfiguration().getExporters(); if (!exporters.isEmpty()) { final ExporterManagerService exporterManagerService = new ExporterManagerService(exporters); serviceContainer .createService(EXPORTER_MANAGER, exporterManagerService) .dependency( STREAM_PROCESSOR_SERVICE_FACTORY, exporterManagerService.getStreamProcessorServiceFactoryInjector()) .groupReference( LEADER_PARTITION_GROUP_NAME, exporterManagerService.getPartitionsGroupReference()) .install(); } } }
@Override public void init(SystemContext context) { final ServiceContainer serviceContainer = context.getServiceContainer(); final List<ExporterCfg> exporters = context.getBrokerConfiguration().getExporters(); if (!exporters.isEmpty()) { final ExporterManagerService exporterManagerService = new ExporterManagerService(exporters); serviceContainer .createService(EXPORTER_MANAGER, exporterManagerService) .dependency( STREAM_PROCESSOR_SERVICE_FACTORY, exporterManagerService.getStreamProcessorServiceFactoryInjector()) .groupReference( LEADER_PARTITION_GROUP_NAME, exporterManagerService.getPartitionsGroupReference()) .install(); } } }
public <S> S getService(final ServiceName<S> serviceName) { final ServiceContainer serviceContainer = broker.getBrokerContext().getServiceContainer(); final Injector<S> injector = new Injector<>(); final ServiceName<TestService> accessorServiceName = ServiceName.newServiceName("serviceAccess" + serviceName.getName(), TestService.class); try { serviceContainer .createService(accessorServiceName, new TestService()) .dependency(serviceName, injector) .install() .get(); } catch (final InterruptedException | ExecutionException e) { throw new RuntimeException(e); } serviceContainer.removeService(accessorServiceName); return injector.getValue(); }
@Override public void init(final SystemContext context) { final ServiceContainer serviceContainer = context.getServiceContainer(); final SubscriptionApiCommandMessageHandlerService messageHandlerService = new SubscriptionApiCommandMessageHandlerService(); serviceContainer .createService(SUBSCRIPTION_API_MESSAGE_HANDLER_SERVICE_NAME, messageHandlerService) .dependency( bufferingServerTransport(SUBSCRIPTION_API_SERVER_NAME), messageHandlerService.getServerTransportInjector()) .groupReference( LEADER_PARTITION_GROUP_NAME, messageHandlerService.getLeaderParitionsGroupReference()) .install(); } }
@Override public void init(final SystemContext context) { final ServiceContainer serviceContainer = context.getServiceContainer(); final SubscriptionApiCommandMessageHandlerService messageHandlerService = new SubscriptionApiCommandMessageHandlerService(); serviceContainer .createService(SUBSCRIPTION_API_MESSAGE_HANDLER_SERVICE_NAME, messageHandlerService) .dependency( bufferingServerTransport(SUBSCRIPTION_API_SERVER_NAME), messageHandlerService.getServerTransportInjector()) .groupReference( LEADER_PARTITION_GROUP_NAME, messageHandlerService.getLeaderParitionsGroupReference()) .install(); } }
protected ActorFuture<BufferingServerTransport> createBufferingServerTransport( final SystemContext systemContext, final ServiceContainer serviceContainer, final String name, final InetSocketAddress bindAddress, final ByteValue sendBufferSize, final ByteValue receiveBufferSize) { final ServiceName<Dispatcher> receiveBufferName = createReceiveBuffer(serviceContainer, name, receiveBufferSize); final BufferingServerTransportService service = new BufferingServerTransportService(name, bindAddress, sendBufferSize); systemContext.addResourceReleasingDelegate(service.getReleasingResourcesDelegate()); return serviceContainer .createService(TransportServiceNames.bufferingServerTransport(name), service) .dependency(receiveBufferName, service.getReceiveBufferInjector()) .install(); }
public <S> S getService(final ServiceName<S> serviceName) { final ServiceContainer serviceContainer = broker.getBrokerContext().getServiceContainer(); final Injector<S> injector = new Injector<>(); final ServiceName<TestService> accessorServiceName = ServiceName.newServiceName("serviceAccess" + serviceName.getName(), TestService.class); try { serviceContainer .createService(accessorServiceName, new TestService()) .dependency(serviceName, injector) .install() .get(); } catch (final InterruptedException | ExecutionException e) { throw new RuntimeException(e); } serviceContainer.removeService(accessorServiceName); return injector.getValue(); }
protected ActorFuture<BufferingServerTransport> createBufferingServerTransport( final SystemContext systemContext, final ServiceContainer serviceContainer, final String name, final InetSocketAddress bindAddress, final ByteValue sendBufferSize, final ByteValue receiveBufferSize) { final ServiceName<Dispatcher> receiveBufferName = createReceiveBuffer(serviceContainer, name, receiveBufferSize); final BufferingServerTransportService service = new BufferingServerTransportService(name, bindAddress, sendBufferSize); systemContext.addResourceReleasingDelegate(service.getReleasingResourcesDelegate()); return serviceContainer .createService(TransportServiceNames.bufferingServerTransport(name), service) .dependency(receiveBufferName, service.getReceiveBufferInjector()) .install(); }
protected ActorFuture<ServerTransport> createServerTransport( final SystemContext systemContext, final ServiceContainer serviceContainer, final String name, final InetSocketAddress bindAddress, final ByteValue sendBufferSize, final ServiceName<? extends ServerRequestHandler> requestHandlerDependency, final ServiceName<? extends ServerMessageHandler> messageHandlerDependency) { final ServerTransportService service = new ServerTransportService(name, bindAddress, sendBufferSize); systemContext.addResourceReleasingDelegate(service.getReleasingResourcesDelegate()); return serviceContainer .createService(TransportServiceNames.serverTransport(name), service) .dependency(requestHandlerDependency, service.getRequestHandlerInjector()) .dependency(messageHandlerDependency, service.getMessageHandlerInjector()) .install(); }
protected ActorFuture<ServerTransport> createServerTransport( final SystemContext systemContext, final ServiceContainer serviceContainer, final String name, final InetSocketAddress bindAddress, final ByteValue sendBufferSize, final ServiceName<? extends ServerRequestHandler> requestHandlerDependency, final ServiceName<? extends ServerMessageHandler> messageHandlerDependency) { final ServerTransportService service = new ServerTransportService(name, bindAddress, sendBufferSize); systemContext.addResourceReleasingDelegate(service.getReleasingResourcesDelegate()); return serviceContainer .createService(TransportServiceNames.serverTransport(name), service) .dependency(requestHandlerDependency, service.getRequestHandlerInjector()) .dependency(messageHandlerDependency, service.getMessageHandlerInjector()) .install(); }
public <S> S getService(final ServiceName<S> serviceName) { final ServiceContainer serviceContainer = broker.getBrokerContext().getServiceContainer(); final Injector<S> injector = new Injector<>(); final ServiceName<TestService> accessorServiceName = ServiceName.newServiceName("serviceAccess" + serviceName.getName(), TestService.class); try { serviceContainer .createService(accessorServiceName, new TestService()) .dependency(serviceName, injector) .install() .get(); } catch (final InterruptedException | ExecutionException e) { throw new RuntimeException(e); } serviceContainer.removeService(accessorServiceName); return injector.getValue(); }
public static void printRecords(final Broker broker, final int partitionId) { try { final ServiceContainer serviceContainer = broker.getBrokerContext().getServiceContainer(); final ServiceName<LogStream> logStreamServiceName = LogStreamServiceNames.logStreamServiceName(Partition.getPartitionName(partitionId)); final PrinterService printerService = new PrinterService(); serviceContainer .createService(PRINTER_SERVICE_NAME, printerService) .dependency(logStreamServiceName, printerService.getLogStreamInjector()) .install() .join(); serviceContainer.removeService(PRINTER_SERVICE_NAME).join(); } catch (final Exception e) { LOGGER.error( "Could not print log entries. This exception is not propagated to avoid interference with the test.", e); } }
public <S> S getService(final ServiceName<S> serviceName) { final ServiceContainer serviceContainer = broker.getBrokerContext().getServiceContainer(); final Injector<S> injector = new Injector<>(); final ServiceName<TestService> accessorServiceName = ServiceName.newServiceName("serviceAccess" + serviceName.getName(), TestService.class); try { serviceContainer .createService(accessorServiceName, new TestService()) .dependency(serviceName, injector) .install() .get(); } catch (final InterruptedException | ExecutionException e) { throw new RuntimeException(e); } serviceContainer.removeService(accessorServiceName); return injector.getValue(); }