@Test public void testBasicTypes() { ConfigDef def = new ConfigDef().define("a", Type.INT, 5, Range.between(0, 14), Importance.HIGH, "docs") .define("b", Type.LONG, Importance.HIGH, "docs") .define("c", Type.STRING, "hello", Importance.HIGH, "docs")
.importance(ConfigDef.Importance.LOW) .defaultValue(250L) .validator(ConfigDef.Range.between(1L, Long.MAX_VALUE)) .group(GROUP_GENERAL) .build()
Type.INT, DEFAULT_MAX_BUFFER_SIZE, ConfigDef.Range.between(1, Integer.MAX_VALUE), Importance.MEDIUM, "The maximum number of messages that can be received for the messages on a topic " Type.LONG, DEFAULT_MAX_BUFFER_BYTES, ConfigDef.Range.between(1, DEFAULT_MAX_BUFFER_BYTES), Importance.MEDIUM, "The maximum number of bytes that can be received for the messages on a topic " Type.INT, DEFAULT_DELAY_THRESHOLD_MS, ConfigDef.Range.between(1, Integer.MAX_VALUE), Importance.MEDIUM, "The maximum amount of time to wait after receiving the first message in a batch for a " Type.INT, DEFAULT_REQUEST_TIMEOUT_MS, ConfigDef.Range.between(10000, Integer.MAX_VALUE), Importance.MEDIUM, "The maximum amount of time to wait for a single publish request to Cloud Pub/Sub.") Type.INT, DEFAULT_TOTAL_TIMEOUT_MS, ConfigDef.Range.between(10000, Integer.MAX_VALUE), Importance.MEDIUM, "The maximum amount of time to wait for a publish to complete (including retries) in "
Type.INT, DEFAULT_CPS_MAX_BATCH_SIZE, ConfigDef.Range.between(1, Integer.MAX_VALUE), Importance.MEDIUM, "The minimum number of messages to batch per pull request to Cloud Pub/Sub.") Type.INT, DEFAULT_KAFKA_PARTITIONS, ConfigDef.Range.between(1, Integer.MAX_VALUE), Importance.MEDIUM, "The number of Kafka partitions for the Kafka topic in which messages will be "
public static ConfigDef config() { return new ConfigDef() //HTTPS .define(HTTPS_ENABLE_CONF, ConfigDef.Type.BOOLEAN, false, ConfigDef.Importance.HIGH, HTTPS_ENABLE_DOC) .define(HTTPS_PORT_CONF, ConfigDef.Type.INT, 8443, ValidPort.of(1000, 65535), ConfigDef.Importance.HIGH, HTTPS_PORT_DOC) .define(HTTPS_KEY_STORE_PATH_CONF, ConfigDef.Type.STRING, "", ConfigDef.Importance.MEDIUM, HTTPS_KEY_STORE_PATH_DOC) .define(HTTPS_KEY_STORE_PASSWORD_CONF, ConfigDef.Type.PASSWORD, "", ConfigDef.Importance.MEDIUM, HTTPS_KEY_STORE_PASSWORD_DOC) .define(HTTPS_KEY_MANAGER_PASSWORD_CONF, ConfigDef.Type.PASSWORD, "", ConfigDef.Importance.MEDIUM, HTTPS_KEY_MANAGER_PASSWORD_DOC) .define(HTTPS_TRUST_STORE_PATH_CONF, ConfigDef.Type.STRING, "", ConfigDef.Importance.MEDIUM, HTTPS_TRUST_STORE_PATH_DOC) .define(HTTPS_TRUST_STORE_PASSWORD_CONF, ConfigDef.Type.PASSWORD, "", ConfigDef.Importance.MEDIUM, HTTPS_TRUST_STORE_PASSWORD_DOC) .define(HTTPS_IDLE_TIMEOUT_MS_CONF, ConfigDef.Type.INT, 30000, ConfigDef.Range.between(5000, 1000 * 300), ConfigDef.Importance.LOW, HTTPS_IDLE_TIMEOUT_MS_DOC) .define(HTTP_ENABLE_CONF, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.HIGH, HTTP_ENABLE_DOC) .define(HTTP_PORT_CONF, ConfigDef.Type.INT, 8080, ValidPort.of(1000, 65535), ConfigDef.Importance.HIGH, HTTP_PORT_DOC) .define(HTTP_IDLE_TIMEOUT_MS_CONF, ConfigDef.Type.INT, 30000, ConfigDef.Range.between(5000, 1000 * 300), ConfigDef.Importance.LOW, HTTP_IDLE_TIMEOUT_MS_DOC) .define(THREAD_POOL_MAX_SIZE_CONF, ConfigDef.Type.INT, 100, ConfigDef.Range.between(10, 1000), ConfigDef.Importance.MEDIUM, THREAD_POOL_MAX_SIZE_DOC) .define(THREAD_POOL_MIN_SIZE_CONF, ConfigDef.Type.INT, 10, ConfigDef.Range.between(10, 1000), ConfigDef.Importance.MEDIUM, THREAD_POOL_MIN_SIZE_DOC) .define(HEALTH_CHECK_ENABLE_CONF, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.MEDIUM, HEALTH_CHECK_ENABLE_DOC) .define(HEALTH_CHECK_PATH_CONF, ConfigDef.Type.STRING, "/healthcheck", ConfigDef.Importance.MEDIUM, HEALTH_CHECK_PATH_DOC); } }
public static ConfigDef config() { return new ConfigDef() //HTTPS .define(HTTPS_ENABLE_CONF, ConfigDef.Type.BOOLEAN, false, ConfigDef.Importance.HIGH, HTTPS_ENABLE_DOC) .define(HTTPS_PORT_CONF, ConfigDef.Type.INT, 8443, ValidPort.of(1000, 65535), ConfigDef.Importance.HIGH, HTTPS_PORT_DOC) .define(HTTPS_KEY_STORE_PATH_CONF, ConfigDef.Type.STRING, "", ConfigDef.Importance.MEDIUM, HTTPS_KEY_STORE_PATH_DOC) .define(HTTPS_KEY_STORE_PASSWORD_CONF, ConfigDef.Type.PASSWORD, "", ConfigDef.Importance.MEDIUM, HTTPS_KEY_STORE_PASSWORD_DOC) .define(HTTPS_KEY_MANAGER_PASSWORD_CONF, ConfigDef.Type.PASSWORD, "", ConfigDef.Importance.MEDIUM, HTTPS_KEY_MANAGER_PASSWORD_DOC) .define(HTTPS_TRUST_STORE_PATH_CONF, ConfigDef.Type.STRING, "", ConfigDef.Importance.MEDIUM, HTTPS_TRUST_STORE_PATH_DOC) .define(HTTPS_TRUST_STORE_PASSWORD_CONF, ConfigDef.Type.PASSWORD, "", ConfigDef.Importance.MEDIUM, HTTPS_TRUST_STORE_PASSWORD_DOC) .define(HTTPS_IDLE_TIMEOUT_MS_CONF, ConfigDef.Type.INT, 30000, ConfigDef.Range.between(5000, 1000 * 300), ConfigDef.Importance.LOW, HTTPS_IDLE_TIMEOUT_MS_DOC) .define(HTTP_ENABLE_CONF, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.HIGH, HTTP_ENABLE_DOC) .define(HTTP_PORT_CONF, ConfigDef.Type.INT, 8080, ValidPort.of(1000, 65535), ConfigDef.Importance.HIGH, HTTP_PORT_DOC) .define(HTTP_IDLE_TIMEOUT_MS_CONF, ConfigDef.Type.INT, 30000, ConfigDef.Range.between(5000, 1000 * 300), ConfigDef.Importance.LOW, HTTP_IDLE_TIMEOUT_MS_DOC) .define(THREAD_POOL_MAX_SIZE_CONF, ConfigDef.Type.INT, 100, ConfigDef.Range.between(10, 1000), ConfigDef.Importance.MEDIUM, THREAD_POOL_MAX_SIZE_DOC) .define(THREAD_POOL_MIN_SIZE_CONF, ConfigDef.Type.INT, 10, ConfigDef.Range.between(10, 1000), ConfigDef.Importance.MEDIUM, THREAD_POOL_MIN_SIZE_DOC) .define(HEALTH_CHECK_ENABLE_CONF, ConfigDef.Type.BOOLEAN, true, ConfigDef.Importance.MEDIUM, HEALTH_CHECK_ENABLE_DOC) .define(HEALTH_CHECK_PATH_CONF, ConfigDef.Type.STRING, "/healthcheck", ConfigDef.Importance.MEDIUM, HEALTH_CHECK_PATH_DOC); } }
public static void addClientSaslSupport(ConfigDef config) { config.define(SaslConfigs.SASL_KERBEROS_SERVICE_NAME, ConfigDef.Type.STRING, null, ConfigDef.Importance.MEDIUM, SaslConfigs.SASL_KERBEROS_SERVICE_NAME_DOC) .define(SaslConfigs.SASL_KERBEROS_KINIT_CMD, ConfigDef.Type.STRING, SaslConfigs.DEFAULT_KERBEROS_KINIT_CMD, ConfigDef.Importance.LOW, SaslConfigs.SASL_KERBEROS_KINIT_CMD_DOC) .define(SaslConfigs.SASL_KERBEROS_TICKET_RENEW_WINDOW_FACTOR, ConfigDef.Type.DOUBLE, SaslConfigs.DEFAULT_KERBEROS_TICKET_RENEW_WINDOW_FACTOR, ConfigDef.Importance.LOW, SaslConfigs.SASL_KERBEROS_TICKET_RENEW_WINDOW_FACTOR_DOC) .define(SaslConfigs.SASL_KERBEROS_TICKET_RENEW_JITTER, ConfigDef.Type.DOUBLE, SaslConfigs.DEFAULT_KERBEROS_TICKET_RENEW_JITTER, ConfigDef.Importance.LOW, SaslConfigs.SASL_KERBEROS_TICKET_RENEW_JITTER_DOC) .define(SaslConfigs.SASL_KERBEROS_MIN_TIME_BEFORE_RELOGIN, ConfigDef.Type.LONG, SaslConfigs.DEFAULT_KERBEROS_MIN_TIME_BEFORE_RELOGIN, ConfigDef.Importance.LOW, SaslConfigs.SASL_KERBEROS_MIN_TIME_BEFORE_RELOGIN_DOC) .define(SaslConfigs.SASL_LOGIN_REFRESH_WINDOW_FACTOR, ConfigDef.Type.DOUBLE, SaslConfigs.DEFAULT_LOGIN_REFRESH_WINDOW_FACTOR, Range.between(0.5, 1.0), ConfigDef.Importance.LOW, SaslConfigs.SASL_LOGIN_REFRESH_WINDOW_FACTOR_DOC) .define(SaslConfigs.SASL_LOGIN_REFRESH_WINDOW_JITTER, ConfigDef.Type.DOUBLE, SaslConfigs.DEFAULT_LOGIN_REFRESH_WINDOW_JITTER, Range.between(0.0, 0.25), ConfigDef.Importance.LOW, SaslConfigs.SASL_LOGIN_REFRESH_WINDOW_JITTER_DOC) .define(SaslConfigs.SASL_LOGIN_REFRESH_MIN_PERIOD_SECONDS, ConfigDef.Type.SHORT, SaslConfigs.DEFAULT_LOGIN_REFRESH_MIN_PERIOD_SECONDS, Range.between(0, 900), ConfigDef.Importance.LOW, SaslConfigs.SASL_LOGIN_REFRESH_MIN_PERIOD_SECONDS_DOC) .define(SaslConfigs.SASL_LOGIN_REFRESH_BUFFER_SECONDS, ConfigDef.Type.SHORT, SaslConfigs.DEFAULT_LOGIN_REFRESH_BUFFER_SECONDS, Range.between(0, 3600), ConfigDef.Importance.LOW, SaslConfigs.SASL_LOGIN_REFRESH_BUFFER_SECONDS_DOC) .define(SaslConfigs.SASL_MECHANISM, ConfigDef.Type.STRING, SaslConfigs.DEFAULT_SASL_MECHANISM, ConfigDef.Importance.MEDIUM, SaslConfigs.SASL_MECHANISM_DOC) .define(SaslConfigs.SASL_JAAS_CONFIG, ConfigDef.Type.PASSWORD, null, ConfigDef.Importance.MEDIUM, SaslConfigs.SASL_JAAS_CONFIG_DOC) .define(SaslConfigs.SASL_CLIENT_CALLBACK_HANDLER_CLASS, ConfigDef.Type.CLASS, null, ConfigDef.Importance.MEDIUM, SaslConfigs.SASL_CLIENT_CALLBACK_HANDLER_CLASS_DOC) .define(SaslConfigs.SASL_LOGIN_CALLBACK_HANDLER_CLASS, ConfigDef.Type.CLASS, null, ConfigDef.Importance.MEDIUM, SaslConfigs.SASL_LOGIN_CALLBACK_HANDLER_CLASS_DOC) .define(SaslConfigs.SASL_LOGIN_CLASS, ConfigDef.Type.CLASS, null, ConfigDef.Importance.MEDIUM, SaslConfigs.SASL_LOGIN_CLASS_DOC); } }
@Test(expected = ConfigException.class) public void testInvalidDefaultRange() { new ConfigDef().define("name", Type.INT, -1, Range.between(0, 10), Importance.HIGH, "docs"); }
@Test public void testValidators() { testValidators(Type.INT, Range.between(0, 10), 5, new Object[]{1, 5, 9}, new Object[]{-1, 11, null}); testValidators(Type.STRING, ValidString.in("good", "values", "default"), "default", new Object[]{"good", "values", "default"}, new Object[]{"bad", "inputs", null}); testValidators(Type.LIST, ConfigDef.ValidList.in("1", "2", "3"), "1", new Object[]{"1", "2", "3"}, new Object[]{"4", "5", "6"}); testValidators(Type.STRING, new ConfigDef.NonNullValidator(), "a", new Object[]{"abb"}, new Object[] {null}); testValidators(Type.STRING, ConfigDef.CompositeValidator.of(new ConfigDef.NonNullValidator(), ValidString.in("a", "b")), "a", new Object[]{"a", "b"}, new Object[] {null, -1, "c"}); testValidators(Type.STRING, new ConfigDef.NonEmptyStringWithoutControlChars(), "defaultname", new Object[]{"test", "name", "test/test", "test\u1234", "\u1324name\\", "/+%>&):??<&()?-", "+1", "\uD83D\uDE01", "\uF3B1", " test \n\r", "\n hello \t"}, new Object[]{"nontrailing\nnotallowed", "as\u0001cii control char", "tes\rt", "test\btest", "1\t2", ""}); }