Skip to content

Commit

Permalink
config docs fix (#199)
Browse files Browse the repository at this point in the history
  • Loading branch information
Squiry authored Jul 17, 2023
1 parent e7cdd1b commit c7e5efa
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void logQueryBegin(QueryContext queryContext) {
});

if (log.isDebugEnabled()) {
log.debug(marker, "SQL executing for pool '{}':\n{}",this.poolName, queryContext.sql());
log.debug(marker, "SQL executing for pool '{}':\n{}", this.poolName, queryContext.sql());
} else if (log.isInfoEnabled()) {
log.info(marker, "SQL executing for pool '{}'", this.poolName);
}
Expand All @@ -50,7 +50,7 @@ public void logQueryEnd(long processingTime, QueryContext queryContext, @Nullabl

if (log.isDebugEnabled()) {
log.debug(marker, "SQL executed for pool '{}':\n{}", this.poolName, queryContext.sql());
} else if(log.isInfoEnabled()) {
} else if (log.isInfoEnabled()) {
log.info(marker, "SQL executed for pool '{}'", this.poolName);
}
}
Expand Down
41 changes: 31 additions & 10 deletions mkdocs/docs/features/config.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
# Конфигурации

Для конфигурации kora framework использует библиотеку [typesafe config](https://github.com/lightbend/config), которая умеет читать конфигурации в формате [HOCON](https://github.com/lightbend/config/blob/master/HOCON.md).
Kora поддерживает два формата конфигурационных файлов:

## Подключение конфигураций
- [HOCON](https://github.com/lightbend/config/blob/master/HOCON.md) с помощью [typesafe config](https://github.com/lightbend/config) через модуль `HoconConfigModule` из `config-hocon`
- YAML через модуль `YamlConfigModule` из `config-yaml`

К приложению необходимо добавить модуль `ConfigModule` через наследование.
Он добавит в контекст приложения вычитанный `typesafe config` и компонент, который будет следить за обновлениями внешнего файла конфигурации, если он задан через `-Dconfig.file=some-file.conf`.
В обоих случаях по умолчанию читаются файлы:

- `reference.(yml|conf)` для общих значений
- файл, указанный через `config.file` или `config.resource`
- при отсутствии предыдущего пункта прочитается файл по-умолчанию `application.(yml|conf)`

## ConfigSource

Для упрощения создания пользовательских конфигураций следует использовать аннотацию `ConfigSource`.
Для упрощения создания пользовательских конфигураций следует использовать аннотацию `ConfigSource`.

Рассмотрим пример:

```java

@ConfigSource("services.foo")
record FooServiceConfig(String bar, int baz) {}
```
Expand All @@ -33,10 +38,26 @@ services {

```java
public final class FooService {
private final FooServiceConfig config;

public FooService(FooServiceConfig config) {
this.config = config;
}
private final FooServiceConfig config;

public FooService(FooServiceConfig config) {
this.config = config;
}
}
```

## Значения по умолчанию

Если есть необходимость использовать в классе значения по умолчанию, то можно воспользоваться таким форматом:

```java

@ConfigSource("services.foo")
interface FooServiceConfig {
String bar();

default int baz() {
return 42;
}
}
```

0 comments on commit c7e5efa

Please sign in to comment.