WowCosIdAutoConfiguration

@Configuration(proxyBeanMethods = false)
class WowCosIdAutoConfiguration

Gives the Wow host CosId's aggregate id generators when the application runs CosId (it has CosId's CosIdRuntime bean, which CosId's starter starts from cosid.*). This module lists it in META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports; its ordering (after CosId's auto-configuration, before the host's WowAutoConfiguration) is in META-INF/spring-autoconfigure-metadata.properties, so that it imports no Spring Boot type.

CosIdAggregateIdGenerator is the host's wowAggregateIdGenerator, unless the application has a bean of that name: the generator of every aggregate type that wow.aggregates.*.id-generator does not name, CosId's generator named after the aggregate, else wow.cosid.aggregate-generator. As an me.ahoo.wow.spi.id.AggregateIdGeneratorSource it lets id-generator name CosId's generators. The node's own ids stay the host's (UUIDv7): a CosId id is unique only within its namespace, and request ids from several services meet in one context's idempotency key.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
@Bean(value = ["wowAggregateIdGenerator"])
fun wowCosIdAggregateIdGenerator(runtime: CosIdRuntime, environment: Environment): CosIdAggregateIdGenerator