Search in sources :

Example 11 with Plugin

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;
    }
}
Also used : LookupDataAdapter(org.graylog2.plugin.lookup.LookupDataAdapter)

Example 12 with Plugin

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);
}
Also used : LocalKafkaMessageQueueWriter(org.graylog2.shared.messageq.localkafka.LocalKafkaMessageQueueWriter) NoopMessageQueueWriter(org.graylog2.shared.messageq.noop.NoopMessageQueueWriter) LocalKafkaMessageQueueAcknowledger(org.graylog2.shared.messageq.localkafka.LocalKafkaMessageQueueAcknowledger) NoopMessageQueueAcknowledger(org.graylog2.shared.messageq.noop.NoopMessageQueueAcknowledger) NoopJournal(org.graylog2.shared.journal.NoopJournal) NoopMessageQueueReader(org.graylog2.shared.messageq.noop.NoopMessageQueueReader) LocalKafkaMessageQueueReader(org.graylog2.shared.messageq.localkafka.LocalKafkaMessageQueueReader) LocalKafkaJournalModule(org.graylog2.shared.journal.LocalKafkaJournalModule) LocalKafkaJournal(org.graylog2.shared.journal.LocalKafkaJournal)

Aggregations

Plugin (org.graylog2.plugin.Plugin)6 PluginMetaData (org.graylog2.plugin.PluginMetaData)4 HashSet (java.util.HashSet)3 PluginLoader (org.graylog2.shared.plugins.PluginLoader)3 Injector (com.google.inject.Injector)2 ApiOperation (io.swagger.annotations.ApiOperation)2 PluginBindings (org.graylog2.shared.bindings.PluginBindings)2 MetricRegistry (com.codahale.metrics.MetricRegistry)1 Timed (com.codahale.metrics.annotation.Timed)1 JmxReporter (com.codahale.metrics.jmx.JmxReporter)1 InstrumentedAppender (com.codahale.metrics.log4j2.InstrumentedAppender)1 JadConfig (com.github.joschi.jadconfig.JadConfig)1 ParameterException (com.github.joschi.jadconfig.ParameterException)1 Repository (com.github.joschi.jadconfig.Repository)1 RepositoryException (com.github.joschi.jadconfig.RepositoryException)1 ValidationException (com.github.joschi.jadconfig.ValidationException)1 GuavaConverterFactory (com.github.joschi.jadconfig.guava.GuavaConverterFactory)1 NamedConfigParametersModule (com.github.joschi.jadconfig.guice.NamedConfigParametersModule)1 JodaTimeConverterFactory (com.github.joschi.jadconfig.jodatime.JodaTimeConverterFactory)1 EnvironmentRepository (com.github.joschi.jadconfig.repositories.EnvironmentRepository)1