package ru.vyarus.dropwizard.guice.module.jersey.debug.service; import org.glassfish.hk2.api.InstanceLifecycleListener; import org.glassfish.hk2.utilities.binding.AbstractBinder; import javax.inject.Inject; import javax.inject.Singleton; import javax.ws.rs.core.Feature; import javax.ws.rs.core.FeatureContext; /** * Jersey feature registers services instantiation tracker. * * @author Vyacheslav Rusakov * @since 15.01.2016 */ @Singleton public class HK2DebugFeature implements Feature { private final HK2InstanceListener listener; @Inject public HK2DebugFeature(final HK2InstanceListener listener) { this.listener = listener; } @Override public boolean configure(final FeatureContext context) { context.register(new AbstractBinder() { @Override protected void configure() { bind(listener).to(InstanceLifecycleListener.class); } }); return true; } }