use of io.zeebe.util.sched.ActorScheduler in project zeebe by zeebe-io.
the class BufferingServerTransportService method start.
@Override
public void start(ServiceStartContext serviceContext) {
final ActorScheduler scheduler = serviceContext.getScheduler();
final Dispatcher receiveBuffer = receiveBufferInjector.getValue();
final Dispatcher sendBuffer = sendBufferInjector.getValue();
serverTransport = Transports.newServerTransport().name(readableName).bindAddress(bindAddress).sendBuffer(sendBuffer).scheduler(scheduler).buildBuffering(receiveBuffer);
LOG.info("Bound {} to {}", readableName, bindAddress);
}
use of io.zeebe.util.sched.ActorScheduler in project zeebe by zeebe-io.
the class ControlMessageHandlerManagerService method start.
@Override
public void start(ServiceStartContext context) {
final Dispatcher controlMessageBuffer = controlMessageBufferInjector.getValue();
final ServerTransport transport = transportInjector.getValue();
final ActorScheduler actorScheduler = context.getScheduler();
final TaskSubscriptionManager taskSubscriptionManager = taskSubscriptionManagerInjector.getValue();
final TopicSubscriptionService topicSubscriptionService = topicSubscriptionServiceInjector.getValue();
final SystemPartitionManager systemPartitionManager = systemPartitionManagerInjector.getValue();
final ServerOutput output = transport.getOutput();
final List<ControlMessageHandler> controlMessageHandlers = Arrays.asList(new AddTaskSubscriptionHandler(output, taskSubscriptionManager), new IncreaseTaskSubscriptionCreditsHandler(output, taskSubscriptionManager), new RemoveTaskSubscriptionHandler(output, taskSubscriptionManager), new RemoveTopicSubscriptionHandler(output, topicSubscriptionService), new RequestTopologyHandler(output, clusterManagerInjector.getValue()), new RequestPartitionsMessageHandler(output, systemPartitionManager));
service = new ControlMessageHandlerManager(transport.getOutput(), controlMessageBuffer, controlMessageRequestTimeoutInMillis, actorScheduler, controlMessageHandlers);
context.async(service.openAsync());
}
use of io.zeebe.util.sched.ActorScheduler in project zeebe by zeebe-io.
the class MetricsFileWriterService method start.
@Override
public void start(ServiceStartContext startContext) {
final ActorScheduler scheduler = startContext.getScheduler();
final MetricsManager metricsManager = startContext.getScheduler().getMetricsManager();
final String metricsFileName = new File(cfg.getDirectory(), cfg.metricsFile).getAbsolutePath();
metricsFileWriter = new MetricsFileWriter(Duration.ofSeconds(cfg.reportingInterval), metricsFileName, metricsManager);
startContext.async(scheduler.submitActor(metricsFileWriter, SchedulingHints.isIoBound(0)));
}
use of io.zeebe.util.sched.ActorScheduler in project zeebe by zeebe-io.
the class TaskSubscriptionManagerService method start.
@Override
public void start(ServiceStartContext startContext) {
final ServerTransport clientApiTransport = transportInjector.getValue();
final ActorScheduler actorScheduler = startContext.getScheduler();
service = new TaskSubscriptionManager(startContext, clientApiTransport);
actorScheduler.submitActor(service);
final ActorFuture<Void> transportRegistration = clientApiTransport.registerChannelListener(service);
startContext.async(transportRegistration);
}
use of io.zeebe.util.sched.ActorScheduler in project zeebe by zeebe-io.
the class ClusterManagerContextService method start.
@Override
public void start(ServiceStartContext startContext) {
final ClientTransport clientTransport = managementClientInjector.getValue();
final BufferingServerTransport serverTransport = managementApiTransportInjector.getValue();
final ActorScheduler actorScheduler = startContext.getScheduler();
final LogStreamsManager logStreamsManager = logStreamsManagerInjector.getValue();
final WorkflowRequestMessageHandler workflowRequestMessageHandler = workflowRequestMessageHandlerInjector.getValue();
context = new ClusterManagerContext();
context.setGossip(gossipInjector.getValue());
context.setActorScheduler(actorScheduler);
context.setManagementClient(clientTransport);
context.setReplicationClient(replicationClientInjector.getValue());
context.setServerTransport(serverTransport);
context.setMemberListService(memberListServiceInjector.getValue());
context.setLogStreamsManager(logStreamsManager);
context.setWorkflowRequestMessageHandler(workflowRequestMessageHandler);
}
Aggregations