use of io.zeebe.broker.task.processor.TaskInstanceStreamProcessor in project zeebe by zeebe-io.
the class TaskQueueManagerService method startTaskQueue.
@Override
public void startTaskQueue(ServiceName<LogStream> logStreamServiceName, final LogStream stream) {
final ServiceName<StreamProcessorController> streamProcessorServiceName = taskQueueInstanceStreamProcessorServiceName(stream.getLogName());
final String streamProcessorName = streamProcessorServiceName.getName();
final ServerTransport serverTransport = clientApiTransportInjector.getValue();
final TaskSubscriptionManager taskSubscriptionManager = taskSubscriptionManagerInjector.getValue();
final TaskInstanceStreamProcessor taskInstanceStreamProcessor = new TaskInstanceStreamProcessor(taskSubscriptionManager);
final TypedStreamEnvironment env = new TypedStreamEnvironment(stream, serverTransport.getOutput());
final TypedStreamProcessor streamProcessor = taskInstanceStreamProcessor.createStreamProcessor(env);
final StreamProcessorService taskInstanceStreamProcessorService = new StreamProcessorService(streamProcessorName, TASK_QUEUE_STREAM_PROCESSOR_ID, streamProcessor).eventFilter(streamProcessor.buildTypeFilter());
serviceContext.createService(streamProcessorServiceName, taskInstanceStreamProcessorService).group(TASK_QUEUE_STREAM_PROCESSOR_SERVICE_GROUP_NAME).dependency(logStreamServiceName, taskInstanceStreamProcessorService.getLogStreamInjector()).dependency(SNAPSHOT_STORAGE_SERVICE, taskInstanceStreamProcessorService.getSnapshotStorageInjector()).install();
startExpireLockService(logStreamServiceName, stream, env);
}
Aggregations