Skip to content

Commit

Permalink
Ensure that radio inputs can only be started on server nodes.
Browse files Browse the repository at this point in the history
Bind the radio input classes only on server nodes.

Fixes #843.
  • Loading branch information
bernd committed Jan 5, 2015
1 parent 476aace commit cda1ce5
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 11 deletions.
Expand Up @@ -16,18 +16,20 @@
*/
package org.graylog2.bindings;

import com.google.inject.AbstractModule;
import com.google.inject.multibindings.MapBinder;
import org.graylog2.inputs.radio.RadioAMQPInput;
import org.graylog2.inputs.radio.RadioKafkaInput;
import org.graylog2.plugin.inject.Graylog2Module;
import org.graylog2.plugin.inputs.MessageInput;

/**
* @author Dennis Oelkers <dennis@torch.sh>
*/
public class ServerMessageInputBindings extends AbstractModule {
public class ServerMessageInputBindings extends Graylog2Module {
@Override
protected void configure() {
// TypeLiteral<Class<? extends MessageInput>> typeLiteral = new TypeLiteral<Class<? extends MessageInput>>(){};
// Multibinder<Class<? extends MessageInput>> messageInputs = Multibinder.newSetBinder(binder(), typeLiteral);
// messageInputs.addBinding().toInstance(RadioAMQPInput.class);
// messageInputs.addBinding().toInstance(RadioKafkaInput.class);
// messageInputs.addBinding().toInstance(RadioInput.class);
final MapBinder<String, MessageInput.Factory<? extends MessageInput>> inputMapBinder = inputsMapBinder();
installInput(inputMapBinder, RadioKafkaInput.class, RadioKafkaInput.Factory.class);
installInput(inputMapBinder, RadioAMQPInput.class, RadioAMQPInput.Factory.class);
}
}
Expand Up @@ -25,8 +25,6 @@
import org.graylog2.inputs.kafka.KafkaInput;
import org.graylog2.inputs.misc.jsonpath.JsonPathInput;
import org.graylog2.inputs.misc.metrics.LocalMetricsInput;
import org.graylog2.inputs.radio.RadioAMQPInput;
import org.graylog2.inputs.radio.RadioKafkaInput;
import org.graylog2.inputs.random.FakeHttpMessageInput;
import org.graylog2.inputs.raw.file.RawFileInput;
import org.graylog2.inputs.raw.tcp.RawTCPInput;
Expand Down Expand Up @@ -57,9 +55,7 @@ protected void configure() {
installInput(inputMapBinder, GELFHttpInput.class, GELFHttpInput.Factory.class);
installInput(inputMapBinder, GELFUDPInput.class, GELFUDPInput.Factory.class);
installInput(inputMapBinder, KafkaInput.class, KafkaInput.Factory.class);
installInput(inputMapBinder, RadioKafkaInput.class, RadioKafkaInput.Factory.class);
installInput(inputMapBinder, AMQPInput.class, AMQPInput.Factory.class);
installInput(inputMapBinder, RadioAMQPInput.class, RadioAMQPInput.Factory.class);
installInput(inputMapBinder, JsonPathInput.class, JsonPathInput.Factory.class);
installInput(inputMapBinder, LocalMetricsInput.class, LocalMetricsInput.Factory.class);
installInput(inputMapBinder, RawFileInput.class, RawFileInput.Factory.class);
Expand Down

0 comments on commit cda1ce5

Please sign in to comment.