Interface WriterInitContext
-
- All Superinterfaces:
InitContext
@Public public interface WriterInitContext extends InitContext
The interface exposes some runtime info for creating aSinkWriter
.
-
-
Field Summary
-
Fields inherited from interface org.apache.flink.api.connector.sink2.InitContext
INITIAL_CHECKPOINT_ID
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description SerializationSchema.InitializationContext
asSerializationSchemaInitializationContext()
Provides a view on this context as aSerializationSchema.InitializationContext
.<IN> TypeSerializer<IN>
createInputSerializer()
Creates a serializer for the type of sink's input.MailboxExecutor
getMailboxExecutor()
Returns the mailbox executor that allows to executeRunnable
s inside the task thread in between record processing.ProcessingTimeService
getProcessingTimeService()
Returns aProcessingTimeService
that can be used to get the current time and register timers.UserCodeClassLoader
getUserCodeClassLoader()
Gets theUserCodeClassLoader
to load classes that are not in system's classpath, but are part of the jar file of a user job.boolean
isObjectReuseEnabled()
Returns whether object reuse has been enabled or disabled.default <MetaT> Optional<Consumer<MetaT>>
metadataConsumer()
Returns a metadata consumer, theSinkWriter
can publish metadata events of typeWriterInitContext
to the consumer.SinkWriterMetricGroup
metricGroup()
-
Methods inherited from interface org.apache.flink.api.connector.sink2.InitContext
getJobInfo, getRestoredCheckpointId, getTaskInfo
-
-
-
-
Method Detail
-
getUserCodeClassLoader
UserCodeClassLoader getUserCodeClassLoader()
Gets theUserCodeClassLoader
to load classes that are not in system's classpath, but are part of the jar file of a user job.- See Also:
UserCodeClassLoader
-
getMailboxExecutor
MailboxExecutor getMailboxExecutor()
Returns the mailbox executor that allows to executeRunnable
s inside the task thread in between record processing.Note that this method should not be used per-record for performance reasons in the same way as records should not be sent to the external system individually. Rather, implementers are expected to batch records and only enqueue a single
Runnable
per batch to handle the result.
-
getProcessingTimeService
ProcessingTimeService getProcessingTimeService()
Returns aProcessingTimeService
that can be used to get the current time and register timers.
-
metricGroup
SinkWriterMetricGroup metricGroup()
- Returns:
- The metric group this writer belongs to.
-
asSerializationSchemaInitializationContext
SerializationSchema.InitializationContext asSerializationSchemaInitializationContext()
Provides a view on this context as aSerializationSchema.InitializationContext
.
-
isObjectReuseEnabled
boolean isObjectReuseEnabled()
Returns whether object reuse has been enabled or disabled.
-
createInputSerializer
<IN> TypeSerializer<IN> createInputSerializer()
Creates a serializer for the type of sink's input.
-
metadataConsumer
default <MetaT> Optional<Consumer<MetaT>> metadataConsumer()
Returns a metadata consumer, theSinkWriter
can publish metadata events of typeWriterInitContext
to the consumer.It is recommended to use a separate thread pool to publish the metadata because enqueuing a lot of these messages in the mailbox may lead to a performance decrease. thread, and the
Consumer.accept(T)
method is executed very fast.
-
-