Interface ProcessorSupplier<KIn,​VIn,​KOut,​VOut>

Type Parameters:
KIn - the type of input keys
VIn - the type of input values
KOut - the type of output keys
VOut - the type of output values
All Superinterfaces:
ConnectedStoreProvider, Supplier<Processor<KIn,​VIn,​KOut,​VOut>>
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface
public interface ProcessorSupplier<KIn,​VIn,​KOut,​VOut>
extends ConnectedStoreProvider, Supplier<Processor<KIn,​VIn,​KOut,​VOut>>
A processor supplier that can create one or more Processor instances.

It is used in Topology for adding new processor operators, whose generated topology can then be replicated (and thus creating one or more Processor instances) and distributed to multiple stream threads. The supplier should always generate a new instance each time get() gets called. Creating a single Processor object and returning the same object reference in get() would be a violation of the supplier pattern and leads to runtime exceptions.

  • Method Details

    • get

      Processor<KIn,​VIn,​KOut,​VOut> get()
      Return a newly constructed Processor instance. The supplier should always generate a new instance each time get() gets called.

      Creating a single Processor object and returning the same object reference in get() is a violation of the supplier pattern and leads to runtime exceptions.

      Specified by:
      get in interface Supplier<KIn>
      Returns:
      a new Processor instance