in java/avro/src/main/java/com/microsoft/azure/schemaregistry/kafka/avro/KafkaAvroSerializer.java [50:75]
public void configure(Map<String, ?> props, boolean isKey) {
KafkaAvroSerializerConfig config = new KafkaAvroSerializerConfig((Map<String, Object>) props);
TokenCredential tokenCredential;
tokenCredential = config.getCredential();
if (tokenCredential == null) {
if (config.createDefaultAzureCredential()) {
tokenCredential = new DefaultAzureCredentialBuilder().build();
} else {
throw new RuntimeException(
"TokenCredential not created for serializer. "
+ "Please provide a TokenCredential in config or set "
+ "\"use.azure.credential\" to true."
);
}
}
this.serializer = new SchemaRegistryApacheAvroSerializerBuilder()
.schemaRegistryClient(new SchemaRegistryClientBuilder()
.fullyQualifiedNamespace(config.getSchemaRegistryUrl())
.credential(tokenCredential)
.clientOptions(new ClientOptions().setApplicationId("java-avro-kafka-ser-1.0"))
.buildAsyncClient())
.schemaGroup(config.getSchemaGroup())
.autoRegisterSchemas(config.getAutoRegisterSchemas())
.buildSerializer();
}