assert this.clock != null; keyConverter = config.getInstance(INTERNAL_KEY_CONVERTER_CLASS, Converter.class, () -> this.classLoader); keyConverter.configure(config.subset(INTERNAL_KEY_CONVERTER_CLASS.name() + ".", true).asMap(), true); valueConverter = config.getInstance(INTERNAL_VALUE_CONVERTER_CLASS, Converter.class, () -> this.classLoader); Configuration valueConverterConfig = config; valueConverter.configure(valueConverterConfig.subset(INTERNAL_VALUE_CONVERTER_CLASS.name() + ".", true).asMap(), false);
keyConverter.configure(config.subset(EmbeddedEngine.INTERNAL_KEY_CONVERTER_CLASS.name() + ".", true).asMap(), true); Converter valueConverter = config.getInstance(EmbeddedEngine.INTERNAL_VALUE_CONVERTER_CLASS, Converter.class); Configuration valueConverterConfig = config; valueConverter.configure(valueConverterConfig.subset(EmbeddedEngine.INTERNAL_VALUE_CONVERTER_CLASS.name() + ".", true).asMap(), false);
private Converter createConverter(Map<String, String> parameters, String classKey, String propertyKey, boolean isKey) throws ClassNotFoundException, IllegalAccessException, InstantiationException, IOException { Converter ret = (Converter) Class.forName(parameters.get(classKey).get()).newInstance(); ret.configure(propertiesToMap(parameters.get(propertyKey).get()), isKey); return ret; }
converter.configure(subKeys, isKey);
plugin.configure(converterConfig, isKeyConverter); return plugin;
private static MirusOffsetTool newOffsetTool(Args args) throws IOException { // This needs to be the admin topic properties. // By default these are in the worker properties file, as this has the has admin producer and // consumer settings. Separating these might be wise - also useful for storing state in // source cluster if it proves necessary. final Map<String, String> properties = !args.propertiesFile.isEmpty() ? Utils.propsToStringMap(Utils.loadProps(args.propertiesFile)) : Collections.emptyMap(); final DistributedConfig config = new DistributedConfig(properties); final KafkaOffsetBackingStore offsetBackingStore = new KafkaOffsetBackingStore(); offsetBackingStore.configure(config); // Avoid initializing the entire Kafka Connect plugin system by assuming the // internal.[key|value].converter is org.apache.kafka.connect.json.JsonConverter final Converter internalConverter = new JsonConverter(); internalConverter.configure(config.originalsWithPrefix("internal.key.converter."), true); final OffsetSetter offsetSetter = new OffsetSetter(internalConverter, offsetBackingStore); final OffsetFetcher offsetFetcher = new OffsetFetcher(config, internalConverter); final OffsetSerDe offsetSerDe = OffsetSerDeFactory.create(args.format); return new MirusOffsetTool(args, offsetFetcher, offsetSetter, offsetSerDe); }
keyConverter.configure(config.subset(EmbeddedEngine.INTERNAL_KEY_CONVERTER_CLASS.name() + ".", true).asMap(), true); Converter valueConverter = config.getInstance(EmbeddedEngine.INTERNAL_VALUE_CONVERTER_CLASS, Converter.class); Configuration valueConverterConfig = config; valueConverter.configure(valueConverterConfig.subset(EmbeddedEngine.INTERNAL_VALUE_CONVERTER_CLASS.name() + ".", true).asMap(), false);