Class ParallelStreamP<T>

java.lang.Object
com.hazelcast.jet.core.AbstractProcessor
com.hazelcast.jet.pipeline.test.ParallelStreamP<T>
Type Parameters:
T - type of emitted items
All Implemented Interfaces:
Processor

public class ParallelStreamP<T> extends AbstractProcessor
Implements a mock stream source with parallelism. It emits the items from the generator functions you supply, preserving the order of each generator.
  • Constructor Details

    • ParallelStreamP

      public ParallelStreamP(long eventsPerSecondPerGenerator, EventTimePolicy<? super T> eventTimePolicy, List<? extends GeneratorFunction<T>> generators)
      Creates a processor that generates items using its assigned generator functions. This processor picks its generator functions according to its global processor index.
      Parameters:
      eventsPerSecondPerGenerator - the desired event rate for each generator
      eventTimePolicy - parameters for watermark generation
      generators - list of generator functions used in source
  • Method Details

    • init

      protected void init(@Nonnull Processor.Context context)
      Description copied from class: AbstractProcessor
      Method that can be overridden to perform any necessary initialization for the processor. It is called exactly once and strictly before any of the processing methods (process() and Processor.complete()), but after the outbox and logger have been initialized.

      Subclasses are not required to call this superclass method, it does nothing.

      Overrides:
      init in class AbstractProcessor
      Parameters:
      context - the context associated with this processor
    • complete

      public boolean complete()
      Description copied from interface: Processor
      Called after all the inbound edges' streams are exhausted. If it returns false, it will be invoked again until it returns true. For example, a streaming source processor will return false forever. Unlike other methods which guarantee that no other method is called until they return true, Processor.saveToSnapshot() can be called even though this method returned false.

      After this method is called, no other processing methods are called on this processor, except for Processor.snapshotCommitFinish(boolean).

      Non-cooperative processors are required to return from this method from time to time to give the system a chance to check for snapshot requests and job cancellation. The time the processor spends in this method affects the latency of snapshots and job cancellations.

      Returns:
      true if the completing step is now done, false to call this method again