Page History
...
Baggrundsjob til genindlæsning af DCC konfiguration
ReloadConfiguration baggrundsjobbet for DCC gør det Det er i dag muligt at genindlæse den konfiguration som DCC er konfigureret til at bruge.Baggrundsjobbet overholder husregler for baggrundsjobs (version v64 af husreglerne i seneste udgave af baggrundsjobbet). Den bryder dog reglen om at køre i egen container, da den skriver til konfiguration der ligger in-memory, som læses af DCCDCC konfigurationen på 2 måder. Det er samme funktionalitet der bliver afviklet til genindlæsning, det er måden jobbet startes på der er forskellig.
Konfiguration af hvilken mappe DCC finder konfigurationsfilen i, indstilles ved at sætte en system property. Flere properties prøves af DCC, indtil den finder en som er sat.
Det gøres i følgende rækkefølge:
dk.sosi.dcc.config.dir - det er typisk denne man selv vil sætte
jboss.server.config.dir
was.repository.root - hvis denne er sat søges der i stien defineret i property 'user.home' - dvs. at 'was.repository.root' blot bruges til at afgøre om programmet afvikles på en WAS
catalina.home
Herefter vil DCC kigge i mappen efter en fil med navnet angivet i property 'dk.rsd.dcc.configfile'. Hvis den ikke er sat bruges filnavnet 'dcc-config.xml'.
Hvis der er fejl i den nye konfiguration logges dette og den tidligere korrekt indlæste bibeholdes.
ReloadConfiguration
ReloadConfiguration baggrundsjobbet for DCC gør det muligt at genindlæse den konfiguration som DCC er konfigureret til at bruge.
Baggrundsjobbet overholder husregler for baggrundsjobs (version v64 af husreglerne i seneste udgave af baggrundsjobbet). Den bryder dog reglen om at køre i egen container, da den skriver til konfiguration der ligger in-memory, som læses af DCC.
ReloadConfiguration-jobbet vil genlæse konfigurationsfilen in-memory når den kaldes, som medfører at DCC får den nye konfiguration, næste gang den tilgår in-memory konfigurationen.
Jobbet har følgende HTTP GET operationer, som kan tilgås med angivne URL path:
...
Succes og fejl skrives til loggen - "Configuration reloaded" skrives hvis udførslen går godt, ellers "Configuration reload failed" efterfulgt af fejlen, hvis udførslen fejler.
DCCConfigReloadService
DCCConfigReloadService beggrundsjobbet for DCC genindlæser konfigurationen i et givent interval.
Baggrundsjobbet overholder ikke husregler for baggrundsjob, da den skeduleres til at afvikle periodisk. Perioden mellem afviklinger angives den DCC konfigurationsfilen. Hvis perioden ikke er angivet, så genindlæses der hvert 5. minut.
I f.eks. dcc-config.xml skrives følgende for at angive perioden mellem genindlæsninger:
| Code Block | ||
|---|---|---|
| ||
<!-- Her er perioden mellem genindlæsningerne angivet til 4 minutter og 30 sekunder -->
<DCCConfigReloadInterval>PT4M30S</DCCConfigReloadInterval> |
Intervallet angives som en i overenstemmelse med java specifikationen for Duration (Se https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html#parse-java.lang.CharSequence-)
Hvis man ønsker at standse den automatisk genindlæsning, så kan det kun gøres ved at angive et højt interval. Jobbet kan hermed først startes igen ved en genstart af DCC er fejl i den nye konfiguration logges dette og den tidligere korrekt indlæste bibeholdes.
| Anchor | ||||
|---|---|---|---|---|
|
...