use of org.graylog2.shared.journal.LocalKafkaJournalModule in project graylog2-server by Graylog2.
the class MessageQueueModule method configure.
@Override
protected void configure() {
switch(configuration.getMessageJournalMode()) {
case NOOP_JOURNAL_MODE:
bindMessageQueueImplementation(NoopMessageQueueReader.class, NoopMessageQueueWriter.class, NoopMessageQueueAcknowledger.class);
break;
case DISK_JOURNAL_MODE:
bindMessageQueueImplementation(LocalKafkaMessageQueueReader.class, LocalKafkaMessageQueueWriter.class, LocalKafkaMessageQueueAcknowledger.class);
break;
default:
// OK, none of the journal modes covered by this plugin are activated
break;
}
if (configuration.getMessageJournalMode().equals(DISK_JOURNAL_MODE)) {
install(new LocalKafkaJournalModule());
serviceBinder().addBinding().to(LocalKafkaJournal.class).in(Scopes.SINGLETON);
} else {
binder().bind(Journal.class).to(NoopJournal.class).in(Scopes.SINGLETON);
serviceBinder().addBinding().to(NoopJournal.class).in(Scopes.SINGLETON);
}
bind(MessageQueueReader.Metrics.class).toProvider(MessageQueueReader.Metrics.Provider.class).in(Scopes.SINGLETON);
bind(MessageQueueWriter.Metrics.class).toProvider(MessageQueueWriter.Metrics.Provider.class).in(Scopes.SINGLETON);
bind(MessageQueueAcknowledger.Metrics.class).toProvider(MessageQueueAcknowledger.Metrics.Provider.class).in(Scopes.SINGLETON);
}
Aggregations