@FunctionalInterface public interface ProcessorSupplier extends Serializable, com.hazelcast.security.impl.function.SecuredFunction
Processor
instances. Part of the initialization
chain as explained on ProcessorMetaSupplier
.Modifier and Type | Interface and Description |
---|---|
static interface |
ProcessorSupplier.Context
Context passed to the supplier in the
init() call. |
Modifier and Type | Method and Description |
---|---|
default void |
close(Throwable error)
Called after the execution has finished on this member - successfully or
not.
|
default boolean |
closeIsCooperative()
Returns
true if the close(Throwable) method of this
instance is cooperative. |
Collection<? extends Processor> |
get(int count)
Called after
init(Context) to retrieve instances of
Processor that will be used during the execution of the Jet job. |
default void |
init(ProcessorSupplier.Context context)
Called on each cluster member after deserialization.
|
default boolean |
initIsCooperative()
Returns
true if the init(Context) method of this
instance is cooperative. |
static ProcessorSupplier |
of(SupplierEx<? extends Processor> processorSupplier)
Returns a
ProcessorSupplier which will delegate to the given
Supplier<Processor> to create all Processor instances. |
default void init(@Nonnull ProcessorSupplier.Context context) throws Exception
Exception
default boolean initIsCooperative()
true
if the init(Context)
method of this
instance is cooperative. If it's not, the call to the init()
method is off-loaded to another thread.@Nonnull Collection<? extends Processor> get(int count)
init(Context)
to retrieve instances of
Processor
that will be used during the execution of the Jet job.count
- the number of processor this method is required to create
and return. It is equal to ProcessorMetaSupplier.Context.localParallelism()
.default boolean closeIsCooperative()
true
if the close(Throwable)
method of this
instance is cooperative. If it's not, the call to the close()
method is off-loaded to another thread.default void close(@Nullable Throwable error) throws Exception
Processor.close()
has been called on all
processors running on this member for this job.
If this method throws an exception, it will be logged and ignored; it won't be reported as a job failure.
Note: this method can be called even if init()
or
get()
methods were not called in case the job fails
during the init phase.
error
- the exception (if any) that caused the job to fail;
null
in the case of successful job completion.
Note that it might not be the actual error that caused the job
to fail - it can be several other exceptions. We only guarantee
that it's non-null if the job didn't complete successfully.Exception
@Nonnull static ProcessorSupplier of(@Nonnull SupplierEx<? extends Processor> processorSupplier)
ProcessorSupplier
which will delegate to the given
Supplier<Processor>
to create all Processor
instances.Copyright © 2022 Hazelcast, Inc.. All rights reserved.