@Override public CompositeServiceBuilder createComposite(ServiceName<Void> name) { return new CompositeServiceBuilder(name, this); }
public ActorFuture<LogStream> build() { Objects.requireNonNull(serviceContainer, "serviceContainer"); validate(); final CompositeServiceBuilder installOperation = serviceContainer.createComposite(logStreamRootServiceName(logName)); final ServiceName<LogStream> logStreamServiceName = addServices(installOperation); return installOperation.installAndReturn(logStreamServiceName); }
.createService(openLogStreamServiceName, new LeaderOpenLogStreamAppenderService(logStream)) .install(); .createService(leaderServiceName, leaderState) .dependency(LogStreamServiceNames.logWriteBufferServiceName(logStream.getLogName())) .dependency(openLogStreamServiceName) new MemberReplicateLogController(this, raftMember, clientTransport); installOperation .createService(replicateLogControllerServiceName, replicationController) .dependency(leaderServiceName) .install(); final ActorFuture<Void> whenLeader = installOperation.install();
private void initPartitions( final CompositeServiceBuilder baseLayerInstall, final SystemContext context) { final RaftPersistentConfigurationManagerService raftConfigurationManagerService = new RaftPersistentConfigurationManagerService(context.getBrokerConfiguration()); baseLayerInstall .createService(RAFT_CONFIGURATION_MANAGER, raftConfigurationManagerService) .install(); final BootstrapPartitions raftBootstrapService = new BootstrapPartitions(context.getBrokerConfiguration()); baseLayerInstall .createService(RAFT_BOOTSTRAP_SERVICE, raftBootstrapService) .dependency( RAFT_CONFIGURATION_MANAGER, raftBootstrapService.getConfigurationManagerInjector()) .install(); } }
writeBufferFuture = installOperation .createService(logWriteBufferServiceName, writeBufferService) .dependency( logStorageInjector.getInjectedServiceName(), new LogWriteBufferSubscriptionService(APPENDER_SUBSCRIPTION_NAME); installOperation .createService(appenderSubscriptionServiceName, subscriptionService) .dependency(logWriteBufferServiceName, subscriptionService.getWritebufferInjector()) .install(); appenderFuture = installOperation .createService(logStorageAppenderServiceName, appenderService) .dependency( appenderSubscriptionServiceName, appenderService.getAppenderSubscriptionInjector()) .install(); return installOperation.installAndReturn(logStorageAppenderServiceName);
.createService(openLogStreamServiceName, new LeaderOpenLogStreamAppenderService(logStream)) .install(); .createService(leaderServiceName, leaderState) .dependency(LogStreamServiceNames.logWriteBufferServiceName(logStream.getLogName())) .dependency(openLogStreamServiceName) new MemberReplicateLogController(this, raftMember, clientTransport); installOperation .createService(replicateLogControllerServiceName, replicationController) .dependency(leaderServiceName) .install(); final ActorFuture<Void> whenLeader = installOperation.install();
private void initPartitions( final CompositeServiceBuilder baseLayerInstall, final SystemContext context) { final RaftPersistentConfigurationManagerService raftConfigurationManagerService = new RaftPersistentConfigurationManagerService(context.getBrokerConfiguration()); baseLayerInstall .createService(RAFT_CONFIGURATION_MANAGER, raftConfigurationManagerService) .install(); final BootstrapPartitions raftBootstrapService = new BootstrapPartitions(context.getBrokerConfiguration()); baseLayerInstall .createService(RAFT_BOOTSTRAP_SERVICE, raftBootstrapService) .dependency( RAFT_CONFIGURATION_MANAGER, raftBootstrapService.getConfigurationManagerInjector()) .install(); } }
writeBufferFuture = installOperation .createService(logWriteBufferServiceName, writeBufferService) .dependency( logStorageInjector.getInjectedServiceName(), new LogWriteBufferSubscriptionService(APPENDER_SUBSCRIPTION_NAME); installOperation .createService(appenderSubscriptionServiceName, subscriptionService) .dependency(logWriteBufferServiceName, subscriptionService.getWritebufferInjector()) .install(); appenderFuture = installOperation .createService(logStorageAppenderServiceName, appenderService) .dependency( appenderSubscriptionServiceName, appenderService.getAppenderSubscriptionInjector()) .install(); return installOperation.installAndReturn(logStorageAppenderServiceName);
stateStorageFactoryServiceName = stateStorageFactoryServiceName(logName); partitionInstall .createService(stateStorageFactoryServiceName, stateStorageFactoryService) .install(); .createService(raftServiceName, raftService) .dependency(logStreamServiceName, raftService.getLogStreamInjector()) .dependency(stateStorageFactoryServiceName) .install(); partitionInstall.install();
private void initGossip( final CompositeServiceBuilder baseLayerInstall, final SystemContext context, final NodeInfo localMember) { final GossipService gossipService = new GossipService(context.getBrokerConfiguration()); baseLayerInstall .createService(GOSSIP_SERVICE, gossipService) .dependency( TransportServiceNames.clientTransport(TransportServiceNames.MANAGEMENT_API_CLIENT_NAME), gossipService.getClientTransportInjector()) .dependency( TransportServiceNames.bufferingServerTransport( TransportServiceNames.MANAGEMENT_API_SERVER_NAME), gossipService.getBufferingServerTransportInjector()) .install(); // TODO: decide whether failure to join gossip cluster should result in broker startup fail final GossipJoinService gossipJoinService = new GossipJoinService(context.getBrokerConfiguration().getCluster(), localMember); baseLayerInstall .createService(GOSSIP_JOIN_SERVICE, gossipJoinService) .dependency(GOSSIP_SERVICE, gossipJoinService.getGossipInjector()) .install(); final AtomixService atomixService = new AtomixService(context.getBrokerConfiguration()); baseLayerInstall.createService(ATOMIX_SERVICE, atomixService).install(); }
@Override public CompositeServiceBuilder createComposite(ServiceName<Void> name) { return new CompositeServiceBuilder(name, this); }
public ActorFuture<LogStream> build() { Objects.requireNonNull(serviceContainer, "serviceContainer"); validate(); final CompositeServiceBuilder installOperation = serviceContainer.createComposite(logStreamRootServiceName(logName)); final ServiceName<LogStream> logStreamServiceName = addServices(installOperation); return installOperation.installAndReturn(logStreamServiceName); }
stateStorageFactoryServiceName = stateStorageFactoryServiceName(logName); partitionInstall .createService(stateStorageFactoryServiceName, stateStorageFactoryService) .install(); .createService(raftServiceName, raftService) .dependency(logStreamServiceName, raftService.getLogStreamInjector()) .dependency(stateStorageFactoryServiceName) .install(); partitionInstall.install();
installOperation.createService(logStorageServiceName, logStorageService).install(); installOperation.createService(logBlockIndexServiceName, logBlockIndexService).install(); .createService(logBlockIndexWriterServiceName, logBlockIndexWriterService) .dependency(logStorageServiceName, logBlockIndexWriterService.getLogStorageInjector()) .dependency(logBlockIndexServiceName, logBlockIndexWriterService.getLogBlockIndexInjector()) .createService(logStreamServiceName, logStreamService) .dependency(logStorageServiceName, logStreamService.getLogStorageInjector()) .dependency(logBlockIndexServiceName, logStreamService.getLogBlockIndexInjector())
@Override public CompositeServiceBuilder createComposite(ServiceName<Void> name) { validCheck(); dependentServices.add(name); return new CompositeServiceBuilder(name, container, ServiceController.this.name); }
.createService(TOPOLOGY_MANAGER_SERVICE, topologyManagerService) .dependency(GOSSIP_SERVICE, topologyManagerService.getGossipInjector()) .groupReference(RAFT_SERVICE_GROUP, topologyManagerService.getRaftReference()) .createService(REMOTE_ADDRESS_MANAGER_SERVICE, remoteAddressManager) .dependency(TOPOLOGY_MANAGER_SERVICE, remoteAddressManager.getTopologyManagerInjector()) .dependency( initPartitions(baseLayerInstall, context); context.addRequiredStartAction(baseLayerInstall.install());
installOperation.createService(logStorageServiceName, logStorageService).install(); installOperation.createService(logBlockIndexServiceName, logBlockIndexService).install(); .createService(logBlockIndexWriterServiceName, logBlockIndexWriterService) .dependency(logStorageServiceName, logBlockIndexWriterService.getLogStorageInjector()) .dependency(logBlockIndexServiceName, logBlockIndexWriterService.getLogBlockIndexInjector()) .createService(logStreamServiceName, logStreamService) .dependency(logStorageServiceName, logStreamService.getLogStorageInjector()) .dependency(logBlockIndexServiceName, logStreamService.getLogBlockIndexInjector())
@Override public CompositeServiceBuilder createComposite(ServiceName<Void> name) { validCheck(); dependentServices.add(name); return new CompositeServiceBuilder(name, container, ServiceController.this.name); }
.createService(TOPOLOGY_MANAGER_SERVICE, topologyManagerService) .dependency(GOSSIP_SERVICE, topologyManagerService.getGossipInjector()) .groupReference(RAFT_SERVICE_GROUP, topologyManagerService.getRaftReference()) .createService(REMOTE_ADDRESS_MANAGER_SERVICE, remoteAddressManager) .dependency(TOPOLOGY_MANAGER_SERVICE, remoteAddressManager.getTopologyManagerInjector()) .dependency( initPartitions(baseLayerInstall, context); context.addRequiredStartAction(baseLayerInstall.install());
private void initGossip( final CompositeServiceBuilder baseLayerInstall, final SystemContext context, final NodeInfo localMember) { final GossipService gossipService = new GossipService(context.getBrokerConfiguration()); baseLayerInstall .createService(GOSSIP_SERVICE, gossipService) .dependency( TransportServiceNames.clientTransport(TransportServiceNames.MANAGEMENT_API_CLIENT_NAME), gossipService.getClientTransportInjector()) .dependency( TransportServiceNames.bufferingServerTransport( TransportServiceNames.MANAGEMENT_API_SERVER_NAME), gossipService.getBufferingServerTransportInjector()) .install(); // TODO: decide whether failure to join gossip cluster should result in broker startup fail final GossipJoinService gossipJoinService = new GossipJoinService(context.getBrokerConfiguration().getCluster(), localMember); baseLayerInstall .createService(GOSSIP_JOIN_SERVICE, gossipJoinService) .dependency(GOSSIP_SERVICE, gossipJoinService.getGossipInjector()) .install(); }