diff --git a/pom.xml b/pom.xml index 2b58c63..f4d0a79 100755 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ com.hubspot.dropwizard dropwizard-guice - 0.8.4.0-SNAPSHOT + 0.8.3.1-SNAPSHOT Simple library for using Guice DI in a dropwizard service. https://github.com/HubSpot/dropwizard-guice @@ -30,7 +30,7 @@ - 0.8.4 + 0.8.3 18.0 9.2.9.v20150224 5.1.3.Final @@ -52,7 +52,7 @@ org.glassfish.jersey.core jersey-server - 2.21 + 2.19 org.glassfish.hk2.external @@ -82,7 +82,7 @@ org.glassfish.hk2 hk2-api - 2.4.0-b31 + 2.4.0-b25 javax.ws.rs diff --git a/src/main/java/com/hubspot/dropwizard/guice/GuiceBundle.java b/src/main/java/com/hubspot/dropwizard/guice/GuiceBundle.java index fe1c1dd..b2953f8 100644 --- a/src/main/java/com/hubspot/dropwizard/guice/GuiceBundle.java +++ b/src/main/java/com/hubspot/dropwizard/guice/GuiceBundle.java @@ -28,6 +28,7 @@ public class GuiceBundle implements ConfiguredBundle private DropwizardEnvironmentModule dropwizardEnvironmentModule; private Optional> configurationClass; private Stage stage; + private Bootstrap bootstrap; public static class Builder { private AutoConfig autoConfig; @@ -86,6 +87,7 @@ private GuiceBundle(Stage stage, AutoConfig autoConfig, List modules, Op @Override public void initialize(Bootstrap bootstrap) { + this.bootstrap = bootstrap; if (configurationClass.isPresent()) { dropwizardEnvironmentModule = new DropwizardEnvironmentModule<>(configurationClass.get()); } else { @@ -93,12 +95,6 @@ public void initialize(Bootstrap bootstrap) { } modules.add(new JerseyModule()); modules.add(dropwizardEnvironmentModule); - - initInjector(); - - if (autoConfig != null) { - autoConfig.initialize(bootstrap, injector); - } } @SuppressFBWarnings("DM_EXIT") @@ -113,9 +109,15 @@ private void initInjector() { @Override public void run(final T configuration, final Environment environment) { + setEnvironment(configuration, environment); + initInjector(); + + if (autoConfig != null) { + autoConfig.initialize(this.bootstrap, injector); + } JerseyUtil.registerGuiceBound(injector, environment.jersey()); JerseyUtil.registerGuiceFilter(environment); - setEnvironment(configuration, environment); + if (autoConfig != null) { autoConfig.run(environment, injector); diff --git a/src/test/java/com/hubspot/dropwizard/guice/InjectedIntegrationTest.java b/src/test/java/com/hubspot/dropwizard/guice/InjectedIntegrationTest.java index 81e6b95..2fcf5fe 100644 --- a/src/test/java/com/hubspot/dropwizard/guice/InjectedIntegrationTest.java +++ b/src/test/java/com/hubspot/dropwizard/guice/InjectedIntegrationTest.java @@ -67,5 +67,4 @@ public void shouldGetJitMessage() { // then assertThat(message).isEqualTo("this DAO was bound just-in-time"); } - }