diff --git a/pom.xml b/pom.xml index b921df4ee..81d357cb5 100644 --- a/pom.xml +++ b/pom.xml @@ -289,6 +289,26 @@ provided + + + org.glassfish.jersey.core + jersey-client + 3.1.0 + + + + javax.ws.rs + javax.ws.rs-api + 2.0.1 + + + + javax.servlet + javax.servlet-api + 3.1.0 + provided + + org.apache.kafka diff --git a/src/main/java/com/altinity/clickhouse/sink/connector/rest/ClickHouseSinkConnectorExtension.java b/src/main/java/com/altinity/clickhouse/sink/connector/rest/ClickHouseSinkConnectorExtension.java new file mode 100644 index 000000000..d34b382aa --- /dev/null +++ b/src/main/java/com/altinity/clickhouse/sink/connector/rest/ClickHouseSinkConnectorExtension.java @@ -0,0 +1,31 @@ +package com.altinity.clickhouse.sink.connector.rest; + +import org.apache.kafka.common.utils.AppInfoParser; +import org.apache.kafka.connect.rest.ConnectRestExtension; +import org.apache.kafka.connect.rest.ConnectRestExtensionContext; + +import java.io.IOException; +import java.util.Map; + +public class ClickHouseSinkConnectorExtension implements ConnectRestExtension { + private Map configs; + + @Override + public void register(ConnectRestExtensionContext restPluginContext) { + restPluginContext.configurable().register(new SinkConnectorPauseResource(configs, restPluginContext.clusterState())); + } + + @Override + public void close() throws IOException { + } + + @Override + public void configure(Map configs) { + this.configs = configs; + } + + @Override + public String version() { + return AppInfoParser.getVersion(); + } +} diff --git a/src/main/java/com/altinity/clickhouse/sink/connector/rest/SinkConnectorPauseResource.java b/src/main/java/com/altinity/clickhouse/sink/connector/rest/SinkConnectorPauseResource.java new file mode 100644 index 000000000..45c4a0805 --- /dev/null +++ b/src/main/java/com/altinity/clickhouse/sink/connector/rest/SinkConnectorPauseResource.java @@ -0,0 +1,31 @@ +package com.altinity.clickhouse.sink.connector.rest; + + +import jakarta.ws.rs.Path; +import org.apache.kafka.connect.health.ConnectClusterState; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Map; + +@Path("/connect") +class SinkConnectorPauseResource { + private static final Logger log = LoggerFactory.getLogger(SinkConnectorPauseResource.class); + + public SinkConnectorPauseResource(Map configs, ConnectClusterState clusterState) { + //initialize resource + } + + @Path("/pause") + public void pauseConnector() { + + log.info("PAUSE connector message received"); + } + + @Path("/resume") + public void resumeConnector() { + + log.info("RESUME connector message received"); + + } +} \ No newline at end of file