@Override public void start() throws Exception { LOGGER.log(Level.INFO, "Starting NodeControllerService"); ipc = new IPCSystem(new InetSocketAddress(ncConfig.getClusterListenAddress(), ncConfig.getClusterListenPort()), networkSecurityManager.getSocketChannelFactory(), new NodeControllerIPCI(this), new CCNCFunctions.SerializerDeserializer()); ipc.start(); partitionManager = new PartitionManager(this); netManager = new NetworkManager(ncConfig.getDataListenAddress(), ncConfig.getDataListenPort(), partitionManager, ncConfig.getNetThreadCount(), ncConfig.getNetBufferCount(), ncConfig.getDataPublicAddress(), ncConfig.getDataPublicPort(), FullFrameChannelInterfaceFactory.INSTANCE, networkSecurityManager.getSocketChannelFactory()); netManager.start(); startApplication(); init(); resultNetworkManager.start(); if (messagingNetManager != null) { messagingNetManager.start(); } initNodeControllerState(); hbTask = new HeartbeatComputeTask(this); primaryCcId = addCc(new InetSocketAddress(ncConfig.getClusterAddress(), ncConfig.getClusterPort())); workQueue.start(); // Schedule heartbeat data updates timer.schedule(hbTask, HEARTBEAT_REFRESH_MILLIS, HEARTBEAT_REFRESH_MILLIS); // Schedule tracing a human-readable datetime timer.schedule(new TraceCurrentTimeTask(serviceCtx.getTracer()), 0, 60000); LOGGER.log(Level.INFO, "Started NodeControllerService"); application.startupCompleted(); }