Table of Contents

Interface IKEFCoreSingletonOptions

Namespace
MASES.EntityFrameworkCore.KNet.Infrastructure.Internal
Assembly
MASES.EntityFrameworkCore.KNet.dll

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public interface IKEFCoreSingletonOptions : ISingletonOptions
Inherited Members
Extension Methods

Remarks

Options that affect the Service Provider (singleton-scoped). EF Core uses these to decide whether to reuse the cached SP. All contexts pointing to the same physical cluster share these.

Properties

ApplicationId

The application id associated to the application in use, shall be set if UseCompactedReplicator is false

string? ApplicationId { get; }

Property Value

string

Remarks

Choose the value carefully: upon restart its value is used to identify information on Apache Kafka� cluster of previous running application. If UseGlobalTable is false the partitions associated to each topic are shared across all instances with the same ApplicationId so be carefull to avoid other application consumes the data from Apache Kafka� cluster and local stores does not contains the expected information.

BootstrapServers

The bootstrap servers of the Apache Kafka� cluster

string? BootstrapServers { get; }

Property Value

string

ConsumerConfig

[Obsolete("Option will be removed soon")]
ConsumerConfigBuilder? ConsumerConfig { get; }

Property Value

ConsumerConfigBuilder

DefaultNumPartitions

Default number of partitions associated to each topic

int DefaultNumPartitions { get; }

Property Value

int

DefaultReplicationFactor

Default replication factor associated to each topic

int DefaultReplicationFactor { get; }

Property Value

int

KeySerDesSelectorType

The optional Type to use for key serialization selection

Default value is DefaultKEFCoreSerDes.Key<T>, any custom Type shall implement ISerDesSelector<T>

Type? KeySerDesSelectorType { get; }

Property Value

Type

ProducerConfig

The optional ProducerConfigBuilder

ProducerConfigBuilder? ProducerConfig { get; }

Property Value

ProducerConfigBuilder

SaslConfig

SASL configuration applied to all Kafka clients (producer, streams). When set, it is merged into ProducerConfig and StreamsConfig at connection time via WithSaslConfigs(SaslConfigsBuilder).

SaslConfigsBuilder? SaslConfig { get; }

Property Value

SaslConfigsBuilder

SecurityProtocol

SecurityProtocol configuration applied to all Kafka clients (producer, streams). When set, it is merged into ProducerConfig and StreamsConfig at connection time via WithSecurityProtocol(string).

SecurityProtocol? SecurityProtocol { get; }

Property Value

SecurityProtocol

SslConfig

SSL configuration applied to all Kafka clients (producer, streams). When set, it is merged into ProducerConfig and StreamsConfig at connection time via WithSslConfigs(SslConfigsBuilder).

SslConfigsBuilder? SslConfig { get; }

Property Value

SslConfigsBuilder

StreamsConfig

The optional StreamsConfig used when UseCompactedReplicator is false

StreamsConfigBuilder? StreamsConfig { get; }

Property Value

StreamsConfigBuilder

TopicConfig

The optional TopicConfigBuilder used when topics shall be created

TopicConfigBuilder? TopicConfig { get; }

Property Value

TopicConfigBuilder

UseCompactedReplicator

Use KNetCompactedReplicator<K, V> instead of Apache Kafka� Streams

[Obsolete("Option will be removed soon")]
bool UseCompactedReplicator { get; }

Property Value

bool

UseDeletePolicyForTopic

Use delete cleanup policy when a topic is created

bool UseDeletePolicyForTopic { get; }

Property Value

bool

UseKNetStreams

Use KNet version of Apache Kafka� Streams instead of standard Apache Kafka� Streams

bool UseKNetStreams { get; }

Property Value

bool

UseKeyByteBufferDataTransfer

Setting this property to true the engine prefers to use ByteBuffer data exchange in serializer instances for the key

bool UseKeyByteBufferDataTransfer { get; }

Property Value

bool

UsePersistentStorage

Use persistent storage when Apache Kafka� Streams is in use

bool UsePersistentStorage { get; }

Property Value

bool

UseValueContainerByteBufferDataTransfer

Setting this property to true the engine prefers to use ByteBuffer data exchange in serializer instances for value buffer

bool UseValueContainerByteBufferDataTransfer { get; }

Property Value

bool

ValueContainerType

The optional Type to use as value container

Default value is DefaultValueContainer<TKey>, any custom Type shall implement IValueContainer<T>

Type? ValueContainerType { get; }

Property Value

Type

ValueSerDesSelectorType

The optional Type to use for value serialization selection

Default value is DefaultKEFCoreSerDes.ValueContainer<T>, any custom Type shall implement ISerDesSelector<T>

Type? ValueSerDesSelectorType { get; }

Property Value

Type