2. Konfigurace
Konfigurace komponenty se provádí v souboru peva-connector.yml, který se
nachází v adresáři config/ vedle spustitelného jaru. Soubor obsahuje
nastavení připojení k PEvA, k databázi a k aplikaci Elza. Ukázku konfigurace
naleznete v souboru peva-connector.yml.template v distribučním balíčku.
Komponenta je realizována pomocí frameworku Java Spring Boot, který umožňuje snadnou konfiguraci a rozšiřitelnost. Jednotlivá nastavení jsou definována také v dokumentaci k frameworku.
2.1. Port
Komponenta poskytuje webové rozhraní umožňující její monitorování a další ovládání. Komponenta běží ve výchozím nastavení na portu 8081.
Port je možné změnit v konfiguračním souboru peva-connector.yml v sekci
server:
# Port, kde bude služba dostupná
server:
port: 8081
2.2. Databáze
Komponenta používá pro ukládání dat relační databázi PostgreSQL.
# Konfigurace připojení k databázi
spring:
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/peva_connector
username: user
password: password
Schéma databáze spravuje Liquibase. Migrace jsou idempotentní - schéma se buď vytvoří na prázdné databázi, nebo se převezme existující databáze Imwhooseru v „PEVA módu“. Podrobnosti viz Migrace z Imwhooseru a Schéma databáze.
2.3. Elza
Napojení na Elzu slouží k odesílání stažených fondů (služba FundService).
# Nastavení pro připojení k ELZA
elza:
url: http://localhost:8080
username: pevaimport
password: XXXXXX
soapLogging: false
batchSize: 20
# zakázat přenos dat
send:
enabled: true
Důležité
Servisní účet uvedený v elza.username musí mít v Elze globální oprávnění
ADMIN (superadministrátor). Fondy zakládané konektorem jsou v Elze
spravované a jejich základní údaje (název, číslo fondu, značka, datace)
smí přes FundService měnit pouze superadministrátor
(viz Spravované fondy (režim „jen pro čtení“ v Elze)). Bez tohoto oprávnění skončí aktualizace dříve
založeného fondu chybou INSUFFICIENT_PERMISSIONS; záznam pak zůstává
v odchozí frontě a odeslání se opakuje, dokud nebude oprávnění doplněno
(viz Odchozí fronta do Elza).
2.4. Monitorování
Pro monitorování běhu a stavu komponenty je k dispozici rozhraní poskytující
data ve formátu OpenMetrics (Prometheus). Rozhraní je dostupné na stejném
portu, na kterém běží samotná komponenta (port nastavený v sekci server
výše). Způsob použití je popsán v kapitole Monitorování.
Aby byly metriky dostupné, je nutné v sekci management povolit jejich
zveřejnění (exposure). Samostatný port se zde nenastavuje - endpointy
sdílejí port komponenty.
# Monitorovací (management) rozhraní
management:
endpoints:
web:
exposure:
# zpřístupnění endpointů health a prometheus
include: health,prometheus
endpoint:
health:
probes:
enabled: true
2.5. Logování
Úroveň logování jednotlivých částí aplikace lze nastavit v sekci logging.
Podporované úrovně jsou ERROR, INFO a DEBUG.
# Úroveň logování
logging:
file:
name: logs/peva-connector.log
level:
# logování vlastní komponenty
com.lightcomp: INFO