io.elastic.sailor.AmqpEnvironmentModule Maven / Gradle / Ivy
package io.elastic.sailor;
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
import io.elastic.sailor.impl.MessageResolverImpl;
import static io.elastic.sailor.SailorEnvironmentModule.getOptionalIntegerValue;
public class AmqpEnvironmentModule extends AbstractModule {
@Override
protected void configure() {
bindRequiredStringEnvVar(Constants.ENV_VAR_AMQP_URI);
bindRequiredStringEnvVar(Constants.ENV_VAR_LISTEN_MESSAGES_ON);
bindRequiredStringEnvVar(Constants.ENV_VAR_PUBLISH_MESSAGES_TO);
bindRequiredStringEnvVar(Constants.ENV_VAR_DATA_ROUTING_KEY);
bindRequiredStringEnvVar(Constants.ENV_VAR_ERROR_ROUTING_KEY);
bindRequiredStringEnvVar(Constants.ENV_VAR_REBOUND_ROUTING_KEY);
bindRequiredStringEnvVar(Constants.ENV_VAR_SNAPSHOT_ROUTING_KEY);
bindRequiredStringEnvVar(Constants.ENV_VAR_MESSAGE_CRYPTO_PASSWORD);
bindRequiredStringEnvVar(Constants.ENV_VAR_MESSAGE_CRYPTO_IV);
// 1MB
bindOptionalIntegerEnvVar(Constants.ENV_VAR_OBJECT_STORAGE_SIZE_THRESHOLD,
MessageResolverImpl.OBJECT_STORAGE_SIZE_THRESHOLD_DEFAULT);
}
void bindRequiredStringEnvVar(final String name) {
bind(String.class)
.annotatedWith(Names.named(name))
.toInstance(Utils.getEnvVar(name));
}
void bindOptionalIntegerEnvVar(final String name, int defaultValue) {
bind(Integer.class)
.annotatedWith(Names.named(name))
.toInstance(getOptionalIntegerValue(name, defaultValue));
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy