package org.example.local_project.beansjar.kafka_avro_beans;
import java.util.HashMap;
import java.util.Map;
import io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient;
import io.confluent.kafka.schemaregistry.client.SchemaRegistryClientConfig;
import io.confluent.kafka.serializers.KafkaAvroSerializer;
import io.confluent.kafka.serializers.KafkaAvroSerializerConfig;
public class KafkaAvroSerializerBean extends KafkaAvroSerializer {
@Override
public void configure(KafkaAvroSerializerConfig config) {
Map<String, String> configs = new HashMap<String, String>();
configs.put(SchemaRegistryClientConfig.BASIC_AUTH_CREDENTIALS_SOURCE,
config.getString("basic.auth.credentials.source"));
configs.put(SchemaRegistryClientConfig.USER_INFO_CONFIG,
config.getPassword("basic.auth.user.info").value());
this.schemaRegistry = new CachedSchemaRegistryClient(
config.getSchemaRegistryUrls(), 1000, configs);
this.strategyUsesSchema(true);
this.autoRegisterSchema = true;
// this.useSchemaReflection = true;
// this.normalizeSchema = true;
// this.useLatestVersion = true;
// this.avroReflectionAllowNull = true;
}
}