
io.latent.storm.rabbitmq.config.ConsumerConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of storm-rabbitmq Show documentation
Show all versions of storm-rabbitmq Show documentation
A library of tools for interacting with RabbitMQ from Storm.
package io.latent.storm.rabbitmq.config;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import static io.latent.storm.rabbitmq.config.ConfigUtils.*;
public class ConsumerConfig implements Serializable {
private final ConnectionConfig connectionConfig;
private final int prefetchCount;
private final String queueName;
private final boolean requeueOnFail;
public ConsumerConfig(ConnectionConfig connectionConfig,
int prefetchCount,
String queueName,
boolean requeueOnFail) {
if (connectionConfig == null || prefetchCount < 1) {
throw new IllegalArgumentException("Invalid configuration");
}
this.connectionConfig = connectionConfig;
this.prefetchCount = prefetchCount;
this.queueName = queueName;
this.requeueOnFail = requeueOnFail;
}
public ConnectionConfig getConnectionConfig() {
return connectionConfig;
}
public int getPrefetchCount() {
return prefetchCount;
}
public String getQueueName() {
return queueName;
}
public boolean isRequeueOnFail() {
return requeueOnFail;
}
public static ConsumerConfig getFromStormConfig(Map stormConfig) {
ConnectionConfig connectionConfig = ConnectionConfig.getFromStormConfig(stormConfig);
return new ConsumerConfig(connectionConfig,
getFromMapAsInt("rabbitmq.prefetchCount", stormConfig),
getFromMap("rabbitmq.queueName", stormConfig),
getFromMapAsBoolean("rabbitmq.requeueOnFail", stormConfig));
}
public Map asMap() {
Map map = new HashMap();
map.putAll(connectionConfig.asMap());
addToMap("rabbitmq.prefetchCount", map, prefetchCount);
addToMap("rabbitmq.queueName", map, queueName);
addToMap("rabbitmq.requeueOnFail", map, requeueOnFail);
return map;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy