diff --git a/hadoop-ozone/recon/pom.xml b/hadoop-ozone/recon/pom.xml
index 84d466c81cb5..c2d25b203a2f 100644
--- a/hadoop-ozone/recon/pom.xml
+++ b/hadoop-ozone/recon/pom.xml
@@ -229,10 +229,6 @@
org.glassfish.jersey.containers
jersey-container-servlet-core
-
- org.glassfish.jersey.core
- jersey-common
-
org.glassfish.jersey.core
jersey-server
diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconRestServletModule.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconRestServletModule.java
index 544e22757e65..28a138a73ed9 100644
--- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconRestServletModule.java
+++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconRestServletModule.java
@@ -23,6 +23,9 @@
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
+import javax.inject.Inject;
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriBuilder;
import org.apache.hadoop.hdds.conf.ConfigurationSource;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
@@ -31,10 +34,7 @@
import org.apache.hadoop.ozone.recon.api.filters.ReconAuthFilter;
import org.apache.hadoop.ozone.recon.chatbot.ChatbotConfigKeys;
import org.glassfish.hk2.api.ServiceLocator;
-import org.glassfish.jersey.internal.inject.InjectionManager;
import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.spi.Container;
-import org.glassfish.jersey.server.spi.ContainerLifecycleListener;
import org.glassfish.jersey.servlet.ServletContainer;
import org.jvnet.hk2.guice.bridge.api.GuiceBridge;
import org.jvnet.hk2.guice.bridge.api.GuiceIntoHK2Bridge;
@@ -125,31 +125,14 @@ private void checkIfPackageExistsAndLog(String pkg) {
* Class to bridge Guice bindings to Jersey hk2 bindings.
*/
class GuiceResourceConfig extends ResourceConfig {
- GuiceResourceConfig() {
- register(new ContainerLifecycleListener() {
-
- @Override
- public void onStartup(Container container) {
- ServletContainer servletContainer = (ServletContainer) container;
- InjectionManager injectionManager = container.getApplicationHandler()
- .getInjectionManager();
- ServiceLocator serviceLocator = injectionManager
- .getInstance(ServiceLocator.class);
- GuiceBridge.getGuiceBridge().initializeGuiceBridge(serviceLocator);
- GuiceIntoHK2Bridge guiceBridge = serviceLocator
- .getService(GuiceIntoHK2Bridge.class);
- Injector injector = (Injector) servletContainer.getServletContext()
- .getAttribute(Injector.class.getName());
- guiceBridge.bridgeGuiceInjector(injector);
- }
-
- @Override
- public void onReload(Container container) {
- }
-
- @Override
- public void onShutdown(Container container) {
- }
- });
+ @Inject
+ GuiceResourceConfig(ServiceLocator serviceLocator,
+ @Context ServletContext servletContext) {
+ GuiceBridge.getGuiceBridge().initializeGuiceBridge(serviceLocator);
+ GuiceIntoHK2Bridge guiceBridge = serviceLocator
+ .getService(GuiceIntoHK2Bridge.class);
+ Injector injector = (Injector) servletContext
+ .getAttribute(Injector.class.getName());
+ guiceBridge.bridgeGuiceInjector(injector);
}
}