diff --git a/util/src/main/java/com/ning/billing/util/glue/BusModule.java b/util/src/main/java/com/ning/billing/util/glue/BusModule.java
index 2b8ea6f..b736ea4 100644
--- a/util/src/main/java/com/ning/billing/util/glue/BusModule.java
+++ b/util/src/main/java/com/ning/billing/util/glue/BusModule.java
@@ -16,29 +16,39 @@
package com.ning.billing.util.glue;
+import org.skife.config.ConfigSource;
import org.skife.config.ConfigurationObjectFactory;
+import org.skife.config.SimplePropertyConfigSource;
-import com.ning.billing.util.svcsapi.bus.InternalBus;
-import com.ning.billing.util.svcsapi.bus.BusService;
import com.ning.billing.util.bus.DefaultBusService;
import com.ning.billing.util.bus.InMemoryInternalBus;
-import com.ning.billing.util.bus.PersistentInternalBus;
import com.ning.billing.util.bus.PersistentBusConfig;
+import com.ning.billing.util.bus.PersistentInternalBus;
+import com.ning.billing.util.svcsapi.bus.BusService;
+import com.ning.billing.util.svcsapi.bus.InternalBus;
import com.google.inject.AbstractModule;
public class BusModule extends AbstractModule {
private final BusType type;
+ private final ConfigSource configSource;
public BusModule() {
- super();
- type = BusType.PERSISTENT;
+ this(BusType.PERSISTENT);
+ }
+
+ public BusModule(final ConfigSource configSource) {
+ this(BusType.PERSISTENT, configSource);
}
public BusModule(final BusType type) {
- super();
+ this(type, new SimplePropertyConfigSource(System.getProperties()));
+ }
+
+ public BusModule(final BusType type, final ConfigSource configSource) {
this.type = type;
+ this.configSource = configSource;
}
public enum BusType {
@@ -63,7 +73,7 @@ public class BusModule extends AbstractModule {
}
protected void configurePersistentBusConfig() {
- final PersistentBusConfig config = new ConfigurationObjectFactory(System.getProperties()).build(PersistentBusConfig.class);
+ final PersistentBusConfig config = new ConfigurationObjectFactory(configSource).build(PersistentBusConfig.class);
bind(PersistentBusConfig.class).toInstance(config);
}
diff --git a/util/src/test/java/com/ning/billing/util/bus/InMemoryBusModule.java b/util/src/test/java/com/ning/billing/util/bus/InMemoryBusModule.java
index b13baf1..e178bad 100644
--- a/util/src/test/java/com/ning/billing/util/bus/InMemoryBusModule.java
+++ b/util/src/test/java/com/ning/billing/util/bus/InMemoryBusModule.java
@@ -16,6 +16,8 @@
package com.ning.billing.util.bus;
+import org.skife.config.ConfigSource;
+
import com.ning.billing.util.glue.BusModule;
public class InMemoryBusModule extends BusModule {
@@ -23,4 +25,8 @@ public class InMemoryBusModule extends BusModule {
public InMemoryBusModule() {
super(BusType.MEMORY);
}
+
+ public InMemoryBusModule(final ConfigSource configSource) {
+ super(BusType.MEMORY, configSource);
+ }
}