---
url: /zh/reference/module-configuration.md
description: 平台服务、wow-cosid 与 wow-cocache 的 wow.* 键，由各模块的元数据生成。
---

# 模块配置项

自带配置元数据的模块的键：平台服务（各自是独立的 Spring Boot 应用），以及仅当 wow-cosid、wow-cocache 在类路径上时宿主才读取的 CosId、CoCache 键。每一节由对应模块的 `spring-configuration-metadata.json` 生成，说明取自源码，为英文；宿主的键见[配置项](./configuration)。

## Analytics catalog

### `wow.analytics.catalog`

The analytics catalog service's settings, `wow.analytics.catalog.*`: the warehouse whose tables and views are the sources, the accounts trusted to describe them, how the catalog watches them, and its datasets.

| 键 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `wow.analytics.catalog.connection` | `String` | `default` | The name of the warehouse connection, the first part of each source's id. |
| `wow.analytics.catalog.databases` | `List<String>` |  | The databases whose tables and views are sources; `wow.clickhouse.database` when empty. |
| `wow.analytics.catalog.refresh-interval` | `Duration` | `PT30S` | How often the catalog compares `system.tables` and `wow_catalog` with what it saw last and brings each changed table's source up to date. |
| `wow.analytics.catalog.require-publication-approval` | `Boolean` | `false` | Whether every publication takes an approver (`ApproveDatasetPublication`); a publication that computes from sensitive values or lowers a protection takes one either way. |
| `wow.analytics.catalog.require-source-approval` | `Boolean` | `false` | Whether a dataset reads only the sources an approver approved (`ApproveSource`). |
| `wow.analytics.catalog.trusted-writers` | `Map<String,List<String>>` |  | By warehouse account, the contexts whose tables the `wow_catalog` rows of that account are trusted to describe: the account each context's Sink inserts as. Nobody is trusted by default. |

### `wow.analytics.catalog.datasets`

The datasets: where their views are created, how long a retired one is kept, and whether this node serves them.

| 键 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `wow.analytics.catalog.datasets.database` | `String` | `wow_datasets` | The warehouse database the datasets' views are created in. |
| `wow.analytics.catalog.datasets.reconcile-interval` | `Duration` | `PT5M` | How often this node reads every published dataset. |
| `wow.analytics.catalog.datasets.refresh-interval` | `Duration` | `PT5S` | How often this node reads which published datasets changed. |
| `wow.analytics.catalog.datasets.retention` | `Duration` | `PT168H` | How long a retired dataset's views are kept before they are dropped. |

### `wow.analytics.catalog.datasets.serving`

Whether this node serves the published datasets' queries.

| 键 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `wow.analytics.catalog.datasets.serving.enabled` | `Boolean` | `true` | Whether this node serves the published datasets' queries. |

### `wow.analytics.catalog.watch`

How the catalog watches the warehouse for changed tables.

| 键 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `wow.analytics.catalog.watch.enabled` | `Boolean` | `true` | Whether the catalog watches the warehouse for changed tables at all. |

## View store

### `wow.view-store`

The view store service's settings (`wow.view-store`, the 9.x starter's prefix).

| 键 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `wow.view-store.system-views` | `List<SystemViewProperties>` |  | The read-only system views the service serves (ConfiguredSystemViews), each with its `tenant-id` and `app-id` (blank for every one), its `id` (not starting with `system:`), its `definition-id`, its `title` and its `config`, the engine's view configuration as JSON text. |

## CosId

### `wow.cosid`

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

| 键 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `wow.cosid.aggregate-generator` | `String` | `default` | The CosId generator, by its name in `cosid.generators`, of the aggregate types that `wow.aggregates.[<context>.<aggregate>].id-generator` does not name and that have no CosId generator named after them (`<context>.<aggregate>`): CosId's `default` generator when not set. It must be one of CosId's generators, or the node does not start. The node's own ids (request, command, wait ids) are never CosId's. |

## CoCache

### `wow.cocache`

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. A reader's settings of each cache (its local copies, its negative caching, the lifetime of what it fills) are CoCache's own, `cocache.caches.[wow.<context>.<aggregate>].*`.

| 键 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| `wow.cocache.publish` | `List<String>` |  | The aggregate types, `<context>.<aggregate>`, whose states this service writes into their caches after each commit; each must be one of the service's own, with a state its contract publishes. None when not set: a state no one reads pays no write. |
| `wow.cocache.ttl` | `Duration` |  | How long a state this service writes lives in the cache, a deleted aggregate's tombstone too: the cache's own lifetime (`cocache.caches.[wow.<context>.<aggregate>].ttl`, else CoCache's default) when not set. A reader's fill lives by the reader's lifetime, so give both sides the same. |
