src/main/java/com/gojek/beast/config/AppConfig.java
package com.gojek.beast.config;
import org.aeonbits.owner.Config;
public interface AppConfig extends Config {
@Key("CONSUMER_POLL_TIMEOUT_MS")
@DefaultValue("9223372036854775807")
Long getConsumerPollTimeoutMs();
@Key("READ_QUEUE_CAPACITY")
@DefaultValue("20")
Integer getReadQueueCapacity();
@Key("COMMIT_QUEUE_CAPACITY")
@DefaultValue("200")
Integer getCommitQueueCapacity();
@Key("BQ_WORKER_POLL_TIMEOUT_MS")
@DefaultValue("50")
Long getBqWorkerPollTimeoutMs();
@Key("BQ_WORKER_POOL_SIZE")
@DefaultValue("5")
Integer getBqWorkerPoolSize();
@Key("KAFKA_CONSUMER_CONFIG_PREFIX")
@DefaultValue("KAFKA_CONSUMER")
String getKafkaConfigPrefix();
@Key("KAFKA_TOPIC")
String getKafkaTopic();
@Key("STATSD_HOST")
String getStatsdHost();
@Key("STATSD_PORT")
Integer getStatsdPort();
@Key("STATSD_PREFIX")
String getStatsdPrefix();
@DefaultValue("false")
@Key("STATSD_ENABLED")
Boolean isStatsdEnabled();
@Key("STATSD_TAGS")
@DefaultValue("")
String getStatsdTags();
@DefaultValue("15000")
@Key("OFFSET_ACK_TIMEOUT")
long getOffsetAckTimeoutMs();
@DefaultValue("true")
@Key(Constants.Config.COLUMN_MAPPING_CHECK_DUPLICATES)
Boolean isColumnMappingDuplicateValidationEnabled();
@DefaultValue("false")
@Key("KAFKA_CONSUMER_ENABLE_AUTO_COMMIT")
Boolean isAutoCommitEnabled();
@DefaultValue("5")
@Key("MAX_BQ_PUSH_ATTEMPTS")
Integer getMaxPushAttempts();
@DefaultValue("false")
@Key("ENABLE_GCS_ERROR_SINK")
Boolean isGCSErrorSinkEnabled();
@Key("GCS_BUCKET")
String getGcsBucket();
@Key("GCS_PATH_PREFIX")
String getGcsPathPrefix();
@Key("GCS_WRITER_PROJECT_NAME")
String getGcsWriterProject();
@DefaultValue("2000")
@Key("OFFSET_BATCH_DURATION")
long getOffsetBatchDuration();
@DefaultValue("false")
@Key("FAIL_ON_NULL_MESSAGE")
boolean getFailOnNullMessage();
@DefaultValue("true")
@Key("FAIL_ON_DESERIALIZE_ERROR")
boolean getFailOnDeserializeError();
@Key("BQ_METADATA_NAMESPACE")
@DefaultValue("")
String getBqMetadataNamespace();
}