protected void configure()

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);
  }