private IKafkaProducer Create()

in src/Microsoft.Azure.WebJobs.Extensions.Kafka/Output/KafkaProducerFactory.cs [81:101]


        private IKafkaProducer Create(Handle producerBaseHandle, KafkaProducerEntity entity)
        {
            var valueType = entity.ValueType ?? typeof(byte[]);
            var keyType = entity.KeyType ?? typeof(Null);

            var valueAvroSchema = this.config.ResolveSecureSetting(nameResolver, entity.ValueAvroSchema);
            var keyAvroSchema = this.config.ResolveSecureSetting(nameResolver, entity.KeyAvroSchema);
            var schemaRegistryUrl = this.config.ResolveSecureSetting(nameResolver, entity.Attribute.SchemaRegistryUrl);
            var schemaRegistryUsername = this.config.ResolveSecureSetting(nameResolver, entity.Attribute.SchemaRegistryUsername);
            var schemaRegistryPassword = this.config.ResolveSecureSetting(nameResolver, entity.Attribute.SchemaRegistryPassword);

            var valueSerializer = SerializationHelper.ResolveValueSerializer(valueType, valueAvroSchema, schemaRegistryUrl, schemaRegistryUsername, schemaRegistryPassword);
            var keySerializer = SerializationHelper.ResolveValueSerializer(keyType, keyAvroSchema, schemaRegistryUrl, schemaRegistryUsername, schemaRegistryPassword);

            return (IKafkaProducer)Activator.CreateInstance(
                typeof(KafkaProducer<,>).MakeGenericType(keyType, valueType),
                producerBaseHandle,
                valueSerializer,
                keySerializer,
                loggerFactory.CreateLogger(typeof(KafkaProducer<,>)));
        }