Class WorkflowProcessor

java.lang.Object
io.github.javactrl.kafka.WorkflowProcessor
All Implemented Interfaces:
org.apache.kafka.streams.processor.api.Processor<String,String,String,String>

public class WorkflowProcessor extends Object implements org.apache.kafka.streams.processor.api.Processor<String,String,String,String>
This is the implementation of Apache Kafka Streams org.apache.kafka.streams.processor.api.Processor This Processor expects a single source with its key and value strings. And key-value store (which is called "store") for storing the workflow's state. It's recommended to use WorkflowProcessorSupplier, which already adds a store. The store must have string keys and byte[] values. Each sink to which the workflow writes must be added as a sink to this Processor.
  • Field Details

    • NEW_THREAD_PREFIX

      public static final String NEW_THREAD_PREFIX
      A prefix for messages on resumption thread which starts a new worklow
      See Also:
  • Constructor Details

    • WorkflowProcessor

      public WorkflowProcessor(Workflow workflow)
      Constructor
      Parameters:
      workflow - the workflow function to run on this Processor
  • Method Details

    • init

      public void init(org.apache.kafka.streams.processor.api.ProcessorContext<String,String> context)
      Specified by:
      init in interface org.apache.kafka.streams.processor.api.Processor<String,String,String,String>
    • process

      public void process(org.apache.kafka.streams.processor.api.Record<String,String> record)
      Specified by:
      process in interface org.apache.kafka.streams.processor.api.Processor<String,String,String,String>