Skip to content

Commit

Permalink
Merge pull request #3 from nexylan/1-add-the-possibility-to-define-if…
Browse files Browse the repository at this point in the history
…-it-s-a-permanent-queue-or-not

Add durability management
  • Loading branch information
henri9813 authored Sep 27, 2018
2 parents 255bc79 + ed34542 commit 33c97e6
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 8 deletions.
Binary file not shown.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.nexylan.graylog.plugins</groupId>
<artifactId>graylog-rabbitmq</artifactId>
<version>1.2.1</version>
<version>1.3.0</version>
<packaging>jar</packaging>

<name>${project.artifactId}</name>
Expand Down
20 changes: 15 additions & 5 deletions src/main/java/net/nexylan/graylog/rabbitmq/RabbitMq.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
import org.graylog2.plugin.Message;
import org.graylog2.plugin.configuration.Configuration;
import org.graylog2.plugin.configuration.ConfigurationRequest;
import org.graylog2.plugin.configuration.fields.ConfigurationField;
import org.graylog2.plugin.configuration.fields.DropdownField;
import org.graylog2.plugin.configuration.fields.NumberField;
import org.graylog2.plugin.configuration.fields.TextField;
import org.graylog2.plugin.configuration.fields.*;
import org.graylog2.plugin.inputs.annotations.ConfigClass;
import org.graylog2.plugin.inputs.annotations.FactoryClass;
import org.graylog2.plugin.outputs.MessageOutput;
Expand All @@ -32,6 +29,7 @@ public class RabbitMq implements MessageOutput{
private static final String RABBIT_USER = "rabbit_user";
private static final String RABBIT_PASSWORD = "rabbit_password";
private static final String RABBIT_TTL = "rabbit_ttl";
private static final String RABBIT_DURABLE = "rabbit_durable";

private boolean running;

Expand All @@ -46,7 +44,13 @@ public RabbitMq(@Assisted Configuration configuration) throws MessageOutputConfi

// Set up sender
sender = new RabbitMQSender(
configuration.getString(RABBIT_HOST), configuration.getInt(RABBIT_PORT), configuration.getString(RABBIT_QUEUE), configuration.getString(RABBIT_USER), configuration.getString(RABBIT_PASSWORD), configuration.getInt(RABBIT_TTL)
configuration.getString(RABBIT_HOST),
configuration.getInt(RABBIT_PORT),
configuration.getString(RABBIT_QUEUE),
configuration.getString(RABBIT_USER),
configuration.getString(RABBIT_PASSWORD),
configuration.getInt(RABBIT_TTL),
configuration.getBoolean(RABBIT_DURABLE)
);

running = true;
Expand Down Expand Up @@ -145,6 +149,12 @@ public ConfigurationRequest getRequestedConfiguration() {
ConfigurationField.Optional.NOT_OPTIONAL)
);

configurationRequest.addField(new BooleanField(RABBIT_DURABLE,
"RabbitMQ Durable",
true,
"May this queue must be durable ?"
));

return configurationRequest;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public class RabbitMQSender implements Sender {
private String user;
private String password;
private int ttl;
private boolean durable;


//RabbitMQ objects
Expand All @@ -34,14 +35,15 @@ public class RabbitMQSender implements Sender {

private boolean is_initialized = false;

public RabbitMQSender(String host, int port, String queue, String user, String password, int ttl)
public RabbitMQSender(String host, int port, String queue, String user, String password, int ttl, boolean durable)
{
this.host = host;
this.port = port;
this.queue = queue;
this.user = user;
this.password = password;
this.ttl = ttl;
this.durable = durable;
initialize();
}

Expand Down Expand Up @@ -79,7 +81,7 @@ public void initialize()
}

try {
this.channel.queueDeclare(this.queue, false, false, false, null);
this.channel.queueDeclare(this.queue, false, this.durable, false, null);
LOG.info("[RabbitMQ] The queue have been successfully created.");
} catch (IOException e) {
LOG.error("[RabbitMQ] Impossible to declare the queue.");
Expand Down

0 comments on commit 33c97e6

Please sign in to comment.