diff --git a/checkstyle/import-control.xml b/checkstyle/import-control.xml
index 39a77326bdee2..b43840f597903 100644
--- a/checkstyle/import-control.xml
+++ b/checkstyle/import-control.xml
@@ -516,6 +516,9 @@
+
+
+
@@ -530,6 +533,8 @@
+
+
diff --git a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/rest/MirrorRestServer.java b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/rest/MirrorRestServer.java
index 7f1fe2841a365..a5abeff40ce17 100644
--- a/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/rest/MirrorRestServer.java
+++ b/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/rest/MirrorRestServer.java
@@ -22,7 +22,9 @@
import org.apache.kafka.connect.runtime.rest.RestClient;
import org.apache.kafka.connect.runtime.rest.RestServer;
import org.apache.kafka.connect.runtime.rest.RestServerConfig;
-import org.apache.kafka.connect.runtime.rest.resources.ConnectResource;
+import org.glassfish.hk2.api.TypeLiteral;
+import org.glassfish.hk2.utilities.binding.AbstractBinder;
+import org.glassfish.jersey.server.ResourceConfig;
import java.util.Arrays;
import java.util.Collection;
@@ -45,15 +47,28 @@ public void initializeInternalResources(Map herders) {
}
@Override
- protected Collection regularResources() {
+ protected Collection> regularResources() {
return Arrays.asList(
- new InternalMirrorResource(herders, restClient)
+ InternalMirrorResource.class
);
}
@Override
- protected Collection adminResources() {
+ protected Collection> adminResources() {
return Collections.emptyList();
}
+ @Override
+ protected void configureRegularResources(ResourceConfig resourceConfig) {
+ resourceConfig.register(new Binder());
+ }
+
+ private class Binder extends AbstractBinder {
+ @Override
+ protected void configure() {
+ bind(herders).to(new TypeLiteral