in src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java [48:74]
protected void configure() {
bind(SessionFactory.class).toProvider(SessionFactoryProvider.class);
Multibinder<Section> sectionBinder = Multibinder.newSetBinder(binder(), Section.class);
sectionBinder.addBinding().to(AMQP.class);
sectionBinder.addBinding().to(Exchange.class);
sectionBinder.addBinding().to(Gerrit.class);
sectionBinder.addBinding().to(Message.class);
sectionBinder.addBinding().to(Monitor.class);
install(
new FactoryModuleBuilder()
.implement(Publisher.class, MessagePublisher.class)
.build(PublisherFactory.class));
install(
new FactoryModuleBuilder()
.implement(Properties.class, PluginProperties.class)
.build(PropertiesFactory.class));
install(
new FactoryModuleBuilder()
.implement(EventWorker.class, UserEventWorker.class)
.build(EventWorkerFactory.class));
bind(Gson.class).toProvider(GsonProvider.class).in(Singleton.class);
DynamicSet.bind(binder(), LifecycleListener.class).to(Manager.class);
DynamicSet.bind(binder(), EventListener.class).to(DefaultEventWorker.class);
}