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 Detail

      • 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