use of org.graylog2.plugin.Plugin in project graylog2-server by Graylog2.
the class LookupTableService method createAdapter.
protected LookupDataAdapter createAdapter(DataAdapterDto dto) {
try {
final LookupDataAdapter.Factory2 factory2 = adapterFactories2.get(dto.config().type());
final LookupDataAdapter.Factory factory = adapterFactories.get(dto.config().type());
final LookupDataAdapter adapter;
if (factory2 != null) {
adapter = factory2.create(dto);
} else if (factory != null) {
adapter = factory.create(dto.id(), dto.name(), dto.config());
} else {
LOG.warn("Unable to load data adapter {} of type {}, missing a factory. Is a required plugin missing?", dto.name(), dto.config().type());
// TODO system notification
return null;
}
addListeners(adapter, dto);
return adapter;
} catch (Exception e) {
LOG.error("Couldn't create adapter <{}/{}>", dto.name(), dto.id(), e);
return null;
}
}
use of org.graylog2.plugin.Plugin 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