Table of Contents

Class KafkaSingletonOptions

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 class KafkaSingletonOptions : IKafkaSingletonOptions, ISingletonOptions
Inheritance
KafkaSingletonOptions
Implements
Inherited Members
Extension Methods

Properties

ApplicationId

The application id

public virtual string? ApplicationId { get; }

Property Value

string

BootstrapServers

The bootstrap servers of the Apache Kafka cluster

public virtual string? BootstrapServers { get; }

Property Value

string

ConsumerConfig

public virtual ConsumerConfigBuilder? ConsumerConfig { get; }

Property Value

ConsumerConfigBuilder

DatabaseName

Database name means whe prefix of the topics associated to the instance of KafkaDbContext

public virtual string? DatabaseName { get; }

Property Value

string

DefaultConsumerInstances

Default consumr instances used in conjunction with UseCompactedReplicator

public virtual int? DefaultConsumerInstances { get; }

Property Value

int?

DefaultNumPartitions

Default number of partitions associated to each topic

public virtual int DefaultNumPartitions { get; }

Property Value

int

DefaultReplicationFactor

Default replication factor associated to each topic

public virtual 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>

public virtual Type? KeySerDesSelectorType { get; }

Property Value

Type

OnChangeEvent

The optional handler to be used to receive notification when the back-end triggers a data change.

public virtual Action<EntityTypeChanged>? OnChangeEvent { get; }

Property Value

Action<EntityTypeChanged>

Remarks

ProducerConfig

The optional ProducerConfigBuilder

public virtual ProducerConfigBuilder? ProducerConfig { get; }

Property Value

ProducerConfigBuilder

StreamsConfig

The optional StreamsConfig used when UseCompactedReplicator is false

public virtual StreamsConfigBuilder? StreamsConfig { get; }

Property Value

StreamsConfigBuilder

TopicConfig

The optional TopicConfigBuilder used when topics shall be created

public virtual TopicConfigBuilder? TopicConfig { get; }

Property Value

TopicConfigBuilder

UseByteBufferDataTransfer

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

public virtual bool UseByteBufferDataTransfer { get; }

Property Value

bool

UseCompactedReplicator

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

public virtual bool UseCompactedReplicator { get; }

Property Value

bool

UseDeletePolicyForTopic

Use delete cleanup policy when a topic is created

public virtual bool UseDeletePolicyForTopic { get; }

Property Value

bool

UseEnumeratorWithPrefetch

Setting this property to true the engine prefers to use enumerator instances able to do a prefetch on data speeding up execution

public virtual bool UseEnumeratorWithPrefetch { get; }

Property Value

bool

Remarks

Used only if UseCompactedReplicator is false and UseKNetStreams is true, not available in EFCore 6.

UseKNetStreams

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

public virtual bool UseKNetStreams { get; }

Property Value

bool

UseNameMatching

Set to false to avoid match of IEntityTypes using Name

public virtual bool UseNameMatching { get; }

Property Value

bool

UsePersistentStorage

Use persistent storage when Apache Kafka Streams is in use

public virtual bool UsePersistentStorage { 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>

public virtual 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>

public virtual Type? ValueSerDesSelectorType { get; }

Property Value

Type

Methods

Initialize(IDbContextOptions)

Initializes the singleton options from the given IDbContextOptions.

public virtual void Initialize(IDbContextOptions options)

Parameters

options IDbContextOptions

Validate(IDbContextOptions)

Validates that the options in given IDbContextOptions have not changed when compared to the options already set here, and throws if they have.

public virtual void Validate(IDbContextOptions options)

Parameters

options IDbContextOptions