Package-level declarations

Types

Link copied to clipboard
class StateViewCacheRegistrar : BeanDefinitionRegistryPostProcessor

Registers a StateViewCache<V> bean for each state view the peer contracts on the class path name (ContractViews), so a service injects StateViewCache<OrderStateView> with nothing declared: one lazy bean per view, typed by its generics, named wow.cocache.<context>.<aggregate>, which the service's StateViewCaches gives.

Link copied to clipboard
class StateViewCaches(factory: CoCacheFactory, queries: () -> QueryApi)

The state view caches of a service, one CoCache cache per aggregate type, each holding that type's states as the view StateView marks, each at the aggregate's version: what a StateViewCache reads, and what the owner's StateViewWriter writes after each commit.

Link copied to clipboard

Writes the states of one aggregate type into its cache at their versions, the owner's writes after each commit: CoCache writes each only over an older version (SuspendingVersionedCache.putIfNewer), atomically, so a commit delivered again, a replay, or an old owner beside the new one never takes the cache back. A deleted aggregate is a tombstone at its version (SuspendingVersionedCache.invalidateIfNewer), which reads as absent and which no older state undoes. A reader's fill in flight holds the key's lease, which the write takes over: the fill is refused.

Link copied to clipboard
@Configuration(proxyBeanMethods = false)
class WowCoCacheAutoConfiguration

Shares the services' aggregate states through CoCache when the application runs CoCache (it has CoCache's CacheRuntime bean, which CoCache's starter gives with cocache.backend set). This module lists it in META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports; its ordering (after CoCache's auto-configuration) is in META-INF/spring-autoconfigure-metadata.properties, so that it imports no Spring Boot type.

Link copied to clipboard

wow-cocache's settings, wow.cocache.*: the one default of each key, and the class its configuration metadata comes from. The module imports no Spring Boot, so WowCoCacheAutoConfiguration reads its keys from Spring's Environment, falling back to the defaults here; the host knows the keys from the metadata this module ships.