Hi Sai I think you can directly cast SinkFunction to GenericJdbcSinkFunction.
https://github.com/apache/flink-connector-jdbc/blob/b477d452ba3aac38d53d1f5d4c4820bdad3ad9cd/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/JdbcSink.java#L63C41-L63C41 ``` public static <T> SinkFunction<T> sink( String sql, JdbcStatementBuilder<T> statementBuilder, JdbcExecutionOptions executionOptions, JdbcConnectionOptions connectionOptions) { return new GenericJdbcSinkFunction<>( new JdbcOutputFormat<>( new SimpleJdbcConnectionProvider(connectionOptions), executionOptions, () -> JdbcBatchStatementExecutor.simple(sql, statementBuilder))); } ``` Best, Feng On Tue, Nov 28, 2023 at 5:49 PM Sai Vishnu <soudrisaivis...@gmail.com> wrote: > Hi team, > > > I am using the JdbcSink from flink-connector-jdbc artifact, version > 3.1.0-1.17. I am trying to write a Sink wrapper that will internally call > the invoke method and open method of jdbc sink. While implementing, I see > that JdbcSink.*sink() *returns a SinkFunction which only exposes the > invoke method and not the open method. > > > Would appreciate any suggestions on how I can implement this. To add to > the requirement, the use case is to try and enclose the invoke operation in > a try catch block so that any exception during the db write process can be > caught and handled properly. > > > Thanks, > > Sai Vishnu Soudri >