當前位置: 首頁>>代碼示例>>Java>>正文


Java ConfigDef.define方法代碼示例

本文整理匯總了Java中org.apache.kafka.common.config.ConfigDef.define方法的典型用法代碼示例。如果您正苦於以下問題:Java ConfigDef.define方法的具體用法?Java ConfigDef.define怎麽用?Java ConfigDef.define使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.kafka.common.config.ConfigDef的用法示例。


在下文中一共展示了ConfigDef.define方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testCorruptConfig

import org.apache.kafka.common.config.ConfigDef; //導入方法依賴的package包/類
@Test
public void testCorruptConfig() {
    Map<String, String> config = new HashMap<>();
    config.put(ConnectorConfig.NAME_CONFIG, CONNECTOR_NAME);
    config.put(ConnectorConfig.CONNECTOR_CLASS_CONFIG, BogusSinkConnector.class.getName());
    Connector connectorMock = PowerMock.createMock(Connector.class);
    String error = "This is an error in your config!";
    List<String> errors = new ArrayList<>(singletonList(error));
    String key = "foo.invalid.key";
    EasyMock.expect(connectorMock.validate(config)).andReturn(
        new Config(
            Arrays.asList(new ConfigValue(key, null, Collections.emptyList(), errors))
        )
    );
    ConfigDef configDef = new ConfigDef();
    configDef.define(key, ConfigDef.Type.STRING, ConfigDef.Importance.HIGH, "");
    EasyMock.expect(worker.getPlugins()).andReturn(plugins).times(3);
    EasyMock.expect(plugins.compareAndSwapLoaders(connectorMock)).andReturn(delegatingLoader);
    EasyMock.expect(worker.getPlugins()).andStubReturn(plugins);
    EasyMock.expect(plugins.newConnector(EasyMock.anyString())).andReturn(connectorMock);
    EasyMock.expect(connectorMock.config()).andStubReturn(configDef);
    EasyMock.expect(Plugins.compareAndSwapLoaders(delegatingLoader)).andReturn(pluginLoader);
    Callback<Herder.Created<ConnectorInfo>> callback = PowerMock.createMock(Callback.class);
    Capture<BadRequestException> capture = Capture.newInstance();
    callback.onCompletion(
        EasyMock.capture(capture), EasyMock.isNull(Herder.Created.class)
    );

    PowerMock.replayAll();

    herder.putConnectorConfig(CONNECTOR_NAME, config, true, callback);
    assertEquals(
        capture.getValue().getMessage(),
        "Connector configuration is invalid and contains the following 1 error(s):\n" +
            error + "\n" +
            "You can also find the above list of errors at the endpoint `/{connectorType}/config/validate`"
    );

    PowerMock.verifyAll();
}
 
開發者ID:YMCoding,項目名稱:kafka-0.11.0.0-src-with-comment,代碼行數:41,代碼來源:StandaloneHerderTest.java

示例2: enrich

import org.apache.kafka.common.config.ConfigDef; //導入方法依賴的package包/類
/**
 * Returns an enriched {@link ConfigDef} building upon the {@code ConfigDef}, using the current configuration specified in {@code props} as an input.
 * <p>
 * {@code requireFullConfig} specifies whether required config values that are missing should cause an exception to be thrown.
 */
public static ConfigDef enrich(Plugins plugins, ConfigDef baseConfigDef, Map<String, String> props, boolean requireFullConfig) {
    Object transformAliases = ConfigDef.parseType(TRANSFORMS_CONFIG, props.get(TRANSFORMS_CONFIG), Type.LIST);
    if (!(transformAliases instanceof List)) {
        return baseConfigDef;
    }

    ConfigDef newDef = new ConfigDef(baseConfigDef);
    LinkedHashSet<?> uniqueTransformAliases = new LinkedHashSet<>((List<?>) transformAliases);
    for (Object o : uniqueTransformAliases) {
        if (!(o instanceof String)) {
            throw new ConfigException("Item in " + TRANSFORMS_CONFIG + " property is not of "
                    + "type String");
        }
        String alias = (String) o;
        final String prefix = TRANSFORMS_CONFIG + "." + alias + ".";
        final String group = TRANSFORMS_GROUP + ": " + alias;
        int orderInGroup = 0;

        final String transformationTypeConfig = prefix + "type";
        final ConfigDef.Validator typeValidator = new ConfigDef.Validator() {
            @Override
            public void ensureValid(String name, Object value) {
                getConfigDefFromTransformation(transformationTypeConfig, (Class) value);
            }
        };
        newDef.define(transformationTypeConfig, Type.CLASS, ConfigDef.NO_DEFAULT_VALUE, typeValidator, Importance.HIGH,
                "Class for the '" + alias + "' transformation.", group, orderInGroup++, Width.LONG, "Transformation type for " + alias,
                Collections.<String>emptyList(), new TransformationClassRecommender(plugins));

        final ConfigDef transformationConfigDef;
        try {
            final String className = props.get(transformationTypeConfig);
            final Class<?> cls = (Class<?>) ConfigDef.parseType(transformationTypeConfig, className, Type.CLASS);
            transformationConfigDef = getConfigDefFromTransformation(transformationTypeConfig, cls);
        } catch (ConfigException e) {
            if (requireFullConfig) {
                throw e;
            } else {
                continue;
            }
        }

        newDef.embed(prefix, group, orderInGroup, transformationConfigDef);
    }

    return newDef;
}
 
開發者ID:YMCoding,項目名稱:kafka-0.11.0.0-src-with-comment,代碼行數:53,代碼來源:ConnectorConfig.java

示例3: testCreateConnectorFailedCustomValidation

import org.apache.kafka.common.config.ConfigDef; //導入方法依賴的package包/類
@Test
public void testCreateConnectorFailedCustomValidation() throws Exception {
    EasyMock.expect(member.memberId()).andStubReturn("leader");
    expectRebalance(1, Collections.<String>emptyList(), Collections.<ConnectorTaskId>emptyList());
    expectPostRebalanceCatchup(SNAPSHOT);

    member.wakeup();
    PowerMock.expectLastCall();

    // config validation
    Connector connectorMock = PowerMock.createMock(Connector.class);
    EasyMock.expect(worker.getPlugins()).andReturn(plugins).times(3);
    EasyMock.expect(plugins.compareAndSwapLoaders(connectorMock)).andReturn(delegatingLoader);
    EasyMock.expect(plugins.newConnector(EasyMock.anyString())).andReturn(connectorMock);

    ConfigDef configDef = new ConfigDef();
    configDef.define("foo.bar", ConfigDef.Type.STRING, ConfigDef.Importance.HIGH, "foo.bar doc");
    EasyMock.expect(connectorMock.config()).andReturn(configDef);

    ConfigValue validatedValue = new ConfigValue("foo.bar");
    validatedValue.addErrorMessage("Failed foo.bar validation");
    EasyMock.expect(connectorMock.validate(CONN2_CONFIG)).andReturn(new Config(singletonList(validatedValue)));
    EasyMock.expect(Plugins.compareAndSwapLoaders(delegatingLoader)).andReturn(pluginLoader);

    // CONN2 creation should fail

    Capture<Throwable> error = EasyMock.newCapture();
    putConnectorCallback.onCompletion(EasyMock.capture(error), EasyMock.<Herder.Created<ConnectorInfo>>isNull());
    PowerMock.expectLastCall();

    member.poll(EasyMock.anyInt());
    PowerMock.expectLastCall();
    // No immediate action besides this -- change will be picked up via the config log

    PowerMock.replayAll();

    herder.putConnectorConfig(CONN2, CONN2_CONFIG, false, putConnectorCallback);
    herder.tick();

    assertTrue(error.hasCaptured());
    assertTrue(error.getValue() instanceof BadRequestException);

    PowerMock.verifyAll();
}
 
開發者ID:YMCoding,項目名稱:kafka-0.11.0.0-src-with-comment,代碼行數:45,代碼來源:DistributedHerderTest.java


注:本文中的org.apache.kafka.common.config.ConfigDef.define方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。