SimpleShardingRegistrar

Simple thread-safe implementation of ShardingRegistrar using ConcurrentHashMap.

This class provides a basic implementation of the ShardingRegistrar interface using a ConcurrentHashMap for storage, making it safe for concurrent access in multi-threaded environments.

Example usage:

val registrar = SimpleShardingRegistrar()

// Register sharding strategies
registrar["orders"] = SingleAggregateIdSharding("order-node-1")
registrar["users"] = SingleAggregateIdSharding("user-node-1")

// Or using the register method
val namedSharding = MyNamedSharding("products")
registrar.register(namedSharding)

// Retrieve sharding strategies
val orderSharding = registrar["orders"]

See also

Constructors

Link copied to clipboard
constructor(registrar: MutableMap<String, AggregateIdSharding> = ConcurrentHashMap())

Properties

Link copied to clipboard
Link copied to clipboard
open override val keys: MutableSet<String>
Link copied to clipboard
open override val size: Int
Link copied to clipboard

Functions

Link copied to clipboard
open override fun clear()
Link copied to clipboard
open override fun containsKey(key: String): Boolean
Link copied to clipboard
open override fun containsValue(value: AggregateIdSharding): Boolean
Link copied to clipboard
open operator override fun get(key: String): AggregateIdSharding?
Link copied to clipboard
open override fun isEmpty(): Boolean
Link copied to clipboard
open override fun put(key: String, value: AggregateIdSharding): AggregateIdSharding?
Link copied to clipboard
open override fun putAll(from: Map<out String, AggregateIdSharding>)
Link copied to clipboard
open fun register(namedAggregateIdSharding: NamedAggregateIdSharding): AggregateIdSharding?

Registers a named sharding strategy in this registrar.

Link copied to clipboard

Converts a nullable map of strings to a Header instance.