All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nextbreakpoint.flink.dummies.LoggingSink Maven / Gradle / Ivy

The newest version!
/*
 * This file is part of Flink Dummies
 * https://github.com/nextbreakpoint/flink-dummies
 */
package com.nextbreakpoint.flink.dummies;

import lombok.extern.slf4j.Slf4j;
import org.apache.flink.api.common.SupportsConcurrentExecutionAttempts;
import org.apache.flink.api.connector.sink2.Sink;
import org.apache.flink.api.connector.sink2.SinkWriter;
import org.apache.flink.api.connector.sink2.WriterInitContext;

@Slf4j
public class LoggingSink implements Sink, SupportsConcurrentExecutionAttempts {
    private static final long serialVersionUID = 1L;

    public SinkWriter createWriter(InitContext context) {
        return new LoggingElementWriter();
    }

    public SinkWriter createWriter(WriterInitContext context) {
        return new LoggingElementWriter();
    }

    private class LoggingElementWriter implements SinkWriter {
        @Override
        public void write(T element, Context context) {
            log.info(element.toString());
        }

        @Override
        public void flush(boolean endOfInput) {
            // this writer has no pending data.
        }

        @Override
        public void close() {
            // do nothing.
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy