Page History
...
Dette dokument beskriver installation og konfiguration af Behandlingstestamenteregister-servicen (BTR) samt tilhørende migreringsværktøj. Konfiguration af tilhørende DGWS/IDWS Proxy er også beskrevet.
Behandlingstestamenteregister-servicen består af 3 komponenter følgende komponent (war-arkiverarkiv), der skal konfigureres og deployes på en applikationsserver:
- ltr-migration: Komponent til migrering af data. Anvendes kun ved initial migrering af data fra den gamle løsning. War-arkiv. Servlet-baseret webservice pakket specifikt til Wildfly.
- wsproxy: DGWS/IDWS Proxy. Er ikke inkluderet i dette projekts kildekode. War-arkiv. Servlet-baseret proxy-komponent til håndtering af DGWS/IDWS i requests og responses.
Projektet bygges med Maven og kræver Java 8 samt en MariaDB-installation for at kunne afvikle unit-tests.
Udover normalt tilgængelige Maven dependencies, afhænger projektet også af interne artefakter. Hvis disse artefakter ikke er udgivet (released) i den påkrævede version i NSP's Nexus repository, skal man selv udtjekke og bygge dem fra NSP's Subversion i den pågældende version. Artefakternes forskellige versioner vil være tilgængelige under et Subversion-tag. Disse artefakter er:
- cpr-subscriber (Maven identifier: dk.sds:cprsubscriber)
- dgws_idws_proxy (Maven identifier: dk.sds.dgws-idws-proxy:wsproxy-api)
For at bygge disse interne artefakter, henvises der til artefakternes dokumentation.
Info |
---|
Alle filer der refereres til ligger sammen med projektets kildekode i NSP's Subversion. Referencer til stier er relative med udgangspunkt i projektets rodmappe. |
Ændringslog
Projektet bygges med Maven og kræver Java 8 samt en MariaDB-installation for at kunne afvikle unit-tests.
Info |
---|
Alle filer der refereres til ligger sammen med projektets kildekode i NSP's Subversion. Referencer til stier er relative med udgangspunkt i projektets rodmappe. |
Ændringslog
Version | Dato | Ændring | Ansvarlig | |||||
---|---|---|---|---|---|---|---|---|
1.0.1 | 2018-08-15 | Initialt dokument | Trifork | |||||
1.0.2 | 2018-08-31 | Ny release | Trifork | |||||
1.0.3 | 2018-09-06 | Endpoints ændret fra /ltr-btr til /btr | Trifork | |||||
1.0.4 | 2018-09-11 | Ændret databasedriver til MySQL | Trifork | |||||
1.0.6 | 2018-10-15 | Tilføjelse af tre SQL-scripter | ||||||
Version | Dato | Ændring | Ansvarlig | |||||
1.0.1 | 2018-08-15 | Initialt dokument | Trifork | |||||
1.0. | 212 | 20182019-08- | 31Ny release19 | Opdateret default value for property "minlog.read-activity-text.ltr" og "minlog.read-activity-text.btr". Tilføjet to SQL-scripter. | Trifork | |||
1.0. | 314 | 20182019-25-09 | -06Ajourført | Endpoints ændret fra /ltr-btr til /btr | Trifork | |||
1. | 01. | 43 | 20182020- | 0905- | 1126 | Ændret databasedriverOpdateret properties til | MySQLslettejob | TriforkKvalitetsIT |
1. | 01. | 67 | 20182021- | 1009- | 15Tilføjelse af tre SQL-scripter | Trifork06 | Opdateret ifm. udfasning af dgws/idws-proxy. | KvalitetsIT |
1. | 01. | 128 | 20192021- | 0810- | 1912 | Opdateret | default value for property "minlog.read-activity-text.ltr" og "minlog.read-activity-text.btr". Tilføjet to SQL-scripter.Trifork |
Byggevejledning
ifm. udfasning af btr-snitflade med accept fra pårørende, værge eller fremtidsfuldmægtig for uafvendeligt døende | KvalitetsIT | ||
1.1.9 | 2021-10-25 | Opdateret ifm inaktive cpr numre afvises | KvalitetsIT |
1.1.10 | 2022-10-18 | Tilføjet minlog.read-activity-text-with-only-forced-treatment.btr | KvalitetsIT |
1.1.11 | 2022-10-25 | TIlføjet cprexists.minage | KvalitetsIT |
1.1.33 | 2023-11-09 | SDS-6387: omlægning af slettejob | KvalitetsIT |
Byggevejledning
For at bygge projektet og dets deployables (war-filer) uden at køre unit-tests og integrationstestsFor at bygge projektet og dets deployables (war-filer) uden at køre unit-tests og integrationstests, anvendes følgende Maven kommando:
...
For at afvikle projektets unit-tests, skal en MariaDB-database-server være tilgængelig.
I udviklingssammenhæng og ved unit-tests kan man nøjes med én databasebruger og ét database-schema. Disse kan oprettes vha. scripterne recreate_service_user.sql og recreate_database.sql som er lokaliseret under ltr-btr-service/src/test/resources/db. Hvis disse standard-scripts anvendes, så passer de database-credentials, som er angivet i application.properties-filen i projektet. Database-strukturen bliver kan man oprette de nødvendige database-schemas vha. scriptet compose/database/db/create_db.sql. I application.properties-filen i projektet er datasources som default sat til at anvende root-user med tomt password. Database-strukturen bliver automatisk oprettet vha. Flyway SQL-scripter, når unit-testene afvikles.
...
Se testvejledningen.
Krav til miljø
Kravene er baseret på det driftsmiljø, der aktuelt er gældende på den Nationale Service Platform (NSP).
Krav til applikationsserver
Komponenten er tilpasset at kunne indgå i det aktuelt gældende CI-miljø på NSP. Det tager aktuelt udgangspunkt i version 1 af NSP's platform Docker image.
Krav til database
Servicen er testet mod MariaDB version 10.1Servicen er udviklet til at kunne afvikles på Wildfly 8 i produktion, som bliver brugt på NSP platformen, og denne installationsvejledning beskriver en sådan opsætning. Applikationsserveren kræver Java 8 eller højere.
Specialhensyn i miljøer med flere app-servere
I miljøer med flere app-servere er det vigtigt at servicens interne jobs ikke kører i flere inkarnationer, da der så kan opstå "race conditions". Derfor bør det sikres at jobbenes "enabled"-properties fra application.properties kun er true på præcis én app-server, og false på de øvrige.
Det drejer sig om disse properties, som også er beskrevet i tabellen længere nede:
...
Krav til operativsystem
Der stilles ingen krav til operativsystemet udover Java-understøttelse. Ubuntu Linux bruges som operativsystem på NSP’en, men udviklingen af servicen er foretaget på Windows 10 og denne platform kan ligeledes afvikle servicen.
Krav til database
Servicen er testet mod MariaDB version 10.1, som bliver brugt på NSP platformen.
Krav til hardware
Der stilles ikke nogle minimumskrav til hardware, udover minimumskravene for operativsystemet, for at kunne afvikle servicen fornuftigt til testformål. Dog skal man forvente at bruge high-end hardware (både cpu, ram, netkort og diske) for at kunne opfylde de gældende svartidskrav på NSP.
Oprettelse af databaser og tabeller
Herunder beskrives servicens tilgang til database samt oprettelse af tabeller og views.
Tilgang til database
Servicen kræver to databaser: en til Livstestamenteregistret og en til Behandlingstestamenteregistret. Derudover afhænger den af adgang til et view i en (replikeret) stamdata-database.
Servicen konfigureres med 3 datasources, som tilgår databaserne vha. separat specificerede brugere.
To brugere skal henholdsvis give adgang til Livstestamenteregister-databasen og Behandlingstestamenteregister-databasen, og de skal begge være tildelt følgende rettigheder på deres pågældende database:
- Ved normal drift i produktion: SELECT, INSERT, UPDATE, DELETE
- Yderligere nødvendige rettigheder ved databaseoprettelse og migreringer: CREATE, DROP, ALTER
Databasebrugeren, der tilgår stamdata-view'et, skal være tildelt følgende rettigheder:
- Ved normal drift i produktion: SELECT
- Yderligere nødvendige rettigheder ved databaseoprettelse og migreringer: CREATE VIEW, DROP
Oprettelse af database og tabeller
Datamodellen styres vha. inkrementelle SQL-scripter, der kan findes under mappen ltr-btr-service/etc/db/migration. De er inddelt i tre undermapper:
- ltr: indeholder scripter til at køre på servicens Livstestamenteregister-database
- btr: indeholder scripter til at køre på servicens Behandlingstestamenteregister-database
- stm: indeholder scripter til at køre på en (replikeret) stamdata-database.
Info |
---|
Scripterne er udformet til at blive kørt med databasemigreringsværktøjet Flyway, men dette er kun aktiveret under afvikling af unit-tests, da dette ikke ønskes anvendt i produktion. |
I produktion anvendes scripterne manuelt og skal køres på databasen i inkrementel rækkefølge baseret på versionsnummeret i filnavnet (først V1__(...).sql, dernæst V2__(...).sql, osv.). Hvert script må aldrig køres mere end én gang; der gælder dog en undtagelse for ikke-versionerede scripter, hvis filnavne begynder med R, som står for Repeatable. Disse Repeatable scripter skal køres hver gang deres indhold (checksum) er blevet ændret, men de må først køres efter alle versionerede scripter er blevet kørt.
Ved initial installation af servicen vil det således være følgende scripter, der skal køres i den nedenstående rækkefølge:
Servicens Livstestamenteregister-database
- ltr/V1__create_LivingWill.sql
- ltr/V2__create_PropertiesLivingWill.sql
- ltr/V8__add_PersonIdentifier_index.sql
Servicens Behandlingstestamenteregister-database
- btr/V3__create_TreatmentWill.sql
- btr/V4__create_PropertiesTreatmentWill.sql
- btr/V5__alter_add_NoForcedTreatmentIfIncapable.sql
- btr/V6__migrate_RelativeAcceptanceRequired_to_AcceptanceNeeded.sql
- btr/V7__add_AcceptanceNeeded_for_all.sql
- btr/V9__add_PersonIdentifier_index.sql
(Replikeret) Stamdata-database
- stm/R__create_v2_Person_Simplified_view.sql
Info |
---|
Scriptet R__create_v2_Person_Simplified_view.sql opretter et view, som afhænger af eksistensen af tabellen v2_Person. Dette er tabellen, der indeholder CPR-ændringer, og den skal man selv stå for at levere. Under afvikling af unit-tests bliver en testudgave af denne tabel automatisk oprettet vha. et script i projektets test-resources. |
Deployment på Wildfly
Denne sektion beskriver konfiguration og deployment af alle ovenstående komponenter på Wildfly 8.
Installation af konfigurationsfiler
ltr-btr-service-wildfly og ltr-migration konfigureres ved hjælp hver deres Wildfly-modul, der indholder de nødvendige konfigurationsfiler til valg af datasources, brugerdefinerede parametre, logning, mm.
Info |
---|
ltr-btr-service-wildfly er via en jboss-deployment-structure.xml konfigureret til at have en afhængighed på et Wildfly-modul med navnet dk.sundhedsdatastyrelsen.livstestamente. Ligeledes er ltr -migration afhængig af dk.sundhedsdatastyrelsen.livstestamente-migration. |
Wildfly-modulerne, som indeholder konfigurationsfilerne, kan findes under etc/wildfly/modules. Her findes et separat modul for henholdsvis ltr-btr -service-wildfly og ltr -migration, da begge komponenter har hver deres modul med tilhørende konfigurationsfiler. Denne separation af konfigurationsfiler gør, at det, når migreringsprocessen er afsluttet, er muligt helt at fjerne konfigurationsfiler relateret til migrering uden at skulle ændre i konfigurationsfiler for ltr-btr -service-wildfly.
For at installere begge moduler på Wildfly kopieres indholdet i mappen etc/wildfly/modules til Wildfly's modul-mappe (<wildfly-root>/modules). Med denne fremgangsmåde vil alle nødvendige filer blive tilføjet til Wildfly de rigtige steder, og eksempelvis vil filen i etc/wildfly/modules/dk/sundhedsdatastyrelsen/livstestamente/main/module.xml ende under <wildfly-root>/modules/dk/sundhedsdatastyrelsen/livstestamente/main/module.xml.
Selve konfigurationsfilerne for ltr-btr -service-wildfly er lokaliseret i mappen <wildfly-root>/modules/dk/sundhedsdatastyrelsen/livstestamente/main/resources og i den tilsvarende mappe i modulet for ltr -migration komponenten. Konfigurationsfilerne vil være tilgængelige direkte på classpath'en for de deployede komponenter.
Info |
---|
Alle konfigurerbare properties bør gennemgås inden idriftsættelse, men standardværdierne er tiltænkt anvendelse i produktion medmindre andet er angivet. Med "standardværdierne" forstås de værdier der står i eksempelfilerne under etc/wildfly-mappen i projektets kildekode. |
Konfiguration af servicen
Herunder beskrives properties i ltr-btr-service-wildfly komponentens konfigurationsfiler.
application.properties
Properties er her opdelt i to tabeller. Den første tabel indeholder anvendte Spring Boot-properties. Den anden tabel indeholder properties, der er specifikt defineret til brug i servicen. Begge typer af properties er defineret i samme konfigurationsfil.
Spring Boot-properties
...
JTA transaktioner. Det er påkrævet at denne er false, således at Spring Boot i stedet anvender dens egen håndtering af transaktioner. (true/false)
...
.
Krav til hardware
Der stilles ikke nogle særlige minimumskrav til hardware, men man skal forvente at bruge high-end hardware (både cpu, ram, netkort og diske) for at kunne opfylde de gældende svartidskrav på NSP.
Oprettelse af databaser og tabeller
Herunder beskrives servicens tilgang til database samt oprettelse af tabeller og views.
Tilgang til database
Servicen består af en database, der både indeholder data for Livstestamenteregistret og for Behandlingstestamenteregistret. Derudover afhænger den af adgang til et view i en (replikeret) stamdata-database.
Servicen konfigureres med 1 datasource, som tilgår databasen vha. separat specificerede brugere.
En bruger skal give adgang til databasen, og den skal være tildelt følgende rettigheder på databasen:
- Ved normal drift i produktion: SELECT, INSERT, UPDATE, DELETE
- Yderligere nødvendige rettigheder ved databaseoprettelse og migreringer: CREATE, DROP, ALTER
Databasebrugeren, der tilgår stamdata-view'et, skal være tildelt følgende rettigheder:
- Ved normal drift i produktion: SELECT
- Yderligere nødvendige rettigheder ved databaseoprettelse og migreringer: CREATE VIEW, DROP
Oprettelse af database og tabeller
Datamodellen styres vha. inkrementelle SQL-scripter, der kan findes under compose/database/db/migration. De er inddelt i 2 undermapper:
- btr: indeholder scripts til at køre på servicens Livstestamenteregister-database og Behandlingstestamenteregister-database
- stm: indeholder scripts til at køre på en (replikeret) stamdata-database.
Info |
---|
Scripts er udformet til at blive kørt med databasemigreringsværktøjet Flyway, men dette er kun aktiveret under afvikling af unit-tests, da dette ikke ønskes anvendt i produktion. |
I produktion anvendes scripterne manuelt og skal køres på databasen i inkrementel rækkefølge baseret på versionsnummeret i filnavnet (først V1__(...).sql, dernæst V2__(...).sql, osv.). Hvert script må aldrig køres mere end én gang; der gælder dog en undtagelse for ikke-versionerede scripter, hvis filnavne begynder med R, som står for Repeatable. Disse Repeatable scripter skal køres hver gang deres indhold (checksum) er blevet ændret, men de må først køres efter alle versionerede scripter er blevet kørt.
Ved initial installation af servicen vil det således være følgende scripter, der skal køres i den nedenstående rækkefølge:
Servicens Behandlingstestamenteregister og Livstestamenteregister-database
- btr/V1__create_LivingWill.sql
- btr/V2__create_PropertiesLivingWill.sql
- btr/V3__create_TreatmentWill.sql
- btr/V4__create_PropertiesTreatmentWill.sql
- btr/V5__alter_add_NoForcedTreatmentIfIncapable.sql
- btr/V6__migrate_RelativeAcceptanceRequired_to_AcceptanceNeeded.sql
- btr/V7__add_AcceptanceNeeded_for_all.sql
- btr/V8__add_PersonIdentifier_index.sql
- btr/V9__add_PersonIdentifier_index.sql
(Replikeret) Stamdata-database
- stm/R__create_v2_Person_Simplified_view.sql
Info |
---|
Scriptet R__create_v2_Person_Simplified_view.sql opretter et view, som afhænger af eksistensen af tabellen v2_Person. Dette er tabellen, der indeholder CPR-ændringer, og den skal man selv stå for at levere. Under afvikling af unit-tests bliver en testudgave af denne tabel automatisk oprettet vha. et SQL-script i compose/database/db/test. |
Deployment
Komponenten deployes vha. NSP's platform Docker image og konfigurationsfiler mountes i containeren som angivet i projektets Compose-filer.
ltr-btr-service-wildfly indholder de nødvendige konfigurationsfiler til valg af datasource, brugerdefinerede parametre, logning, mm. Wildfly-modulet er integreret i komponentens Docker image.
Info |
---|
Alle konfigurerbare properties bør gennemgås inden idriftsættelse, men standardværdierne er tiltænkt anvendelse i produktion medmindre andet er angivet. |
Konfiguration af servicen
Herunder beskrives properties i ltr-btr-service-wildfly komponentens konfigurationsfiler.
application.properties
Property | Beskrivelse | Default |
---|---|---|
datasource.btr.jndi-name | Angiver navnet på en JNDI datasource til Behandlingstestamenteregister-databasen | java:jboss/datasources/BTR-DS |
datasource.stamdata.jndi-name | Angiver navnet på den JNDI datasource der giver adgang til en (replikeret) stamdata-database | java:jboss/datasources/STM-DS |
dcc.endpoint.ltr | Angiver det endpoint, som DCC'en skal kalde for Livstestamenteregistret. Dette kommer til at fremgå af den XML, der returneres i /dksconfig. Bør ændres før produktion. | http://test1.fsk.netic.dk:8080/btr/ltr |
dcc.endpoint.btr | Angiver det endpoint, som DCC'en skal kalde for Behandlingstestamenteregistret. Dette kommer til at fremgå af den XML, der returneres i /dksconfig . Bør ændres før produktion. | http://test1.fsk.netic.dk:8080/btr/btr |
minlog.read-activity-text.ltr | Angiver den tekst der registreres i MinLog, når der bliver læst Livstestamente-data for et CPR-nummer. | L\u00e6sning af Livstestamente |
minlog.read-activity-text.btr | Angiver den tekst der registreres i MinLog, når der bliver læst Behandlingstestamente-data for et CPR-nummer. | L\u00e6sning af Behandlingstestamente |
minlog.read-activity-text-with-only-forced-treatment.btr | Angiver den tekst der registreres i MinLog, når der bliver læst Behandlingstestamente-data som kun indeholder tvang ved somatisk behandling for et CPR-nummer. | |
minlog.create-activity-text.btr | Angiver den tekst der registreres i MinLog, når der bliver oprettet Behandlingstestamente-data for et CPR-nummer. | Oprettelse af Behandlingstestamente |
minlog.delete-activity-text.ltr | Angiver den tekst der registreres i MinLog, når der bliver slettet Livstestamente-data for et CPR-nummer. | Sletning af Livstestamente |
minlog.delete-activity-text.btr | Angiver den tekst der registreres i MinLog, når der bliver slettet Behandlingstestamente-data for et CPR-nummer. | Sletning af Behandlingstestamente |
minlog.update-activity-text.ltr | Angiver den tekst der registreres i MinLog, når der bliver opdateret Livstestamente-data for et CPR-nummer. | Opdatering af Livstestamente |
minlog.update-activity-text.btr | Angiver den tekst der registreres i MinLog, når der bliver opdateret Behandlingstestamente-data for et CPR-nummer. | Opdatering af Behandlingstestamente |
btr.open-date | Angiver det præcise tidspunkt (ISO 8601) fra hvornår mulighed for oprettelser aktiveres for Behandlingstestamenteregistret. Hvis denne er null eller ikke er mulig at parse som et tidspunkt, vil mulighed for oprettelse alligevel være muligt, og en advarsel vil blive logget ved opstart. Hvis oprettelser og opdateringer deaktiveres for Behandlingstestamenteregistret, vil integrationstestene fejle. | 2018-06-01T00:00:00+01:00 |
cprexists.validationlevel | Valideringsniveau for CPR validering Eksempel: WARNING, REJECT, OFF | |
cprexists.url | URL for CPR exist service Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-cprexists | null |
cprexists.maxTotalConnections | Konfiguration af client pool til kald af CPRExists service | 200 |
cprexists.defaultMaxConnectionsPerRoute | Konfiguration af client pool til kald af CPRExists service | 20 |
cprexists.inactive.status | Konfiguration af inaktive status, liste adskilt af komma | 30,50,60 |
cprexists.minage | Minimum alder for oprettelse af behandlingstestamente | 18 |
whitelisted.level3.cvrs | Komma separeret liste af cvr numre, der må kalde servicen med niveau 3 id kort | |
allowed.idws.audience | Det tilladte audience på indkommende idws requests | https://fsk |
nas.app.name | Applikationsnavn til sla-logning ved NAS-kald | treatmentwillregister |
nas.app.shortname | Kort applikationsnavn til sla-logning ved NAS-kald. | btr |
nas.fail.theshold | Grænse for hvor mange gange NAS-kald må fejle i træk, før NAS opfattes som usund. | 1 |
nas.connect.timeout.millis | Grænse for hvor lang tid det må tage at oprette forbindelse til NAS (i ms.). | 10000 |
nas.read.timeout.millis | Grænse for hvor lang tid det må tage at modtage svar fra NAS (i ms.). | 10000 |
nas.max.total.connections | Maksimalt antal samtidige NAS-forbindelser. | 200 |
nas.default.max.connections.per.route | Maksimalt antal NAS-forbindelser per rute. | 20 |
nas.service.url | NAS Endpoint | http://test1.ekstern-test.nspop.dk:8080/nas2/notificationbroker/service |
nas.topic.livingwillnotification | NAS topic ved opdateringer af livstestamente | http://sundhedsdatastyrelsen.dk/LivingWill/2022/05/05:LivingWillUpdated |
nas.topic.treatmentwillnotification | NAS topic ved opdateringer af behandlingstestamente | http://sundhedsdatastyrelsen.dk/TreatmentWill/2022/05/05:TreatmentWillUpdated |
nas.idcard.subject.id.type | Subjecttype for IDKort til NAS-kald. | medcom:cvrnumber |
nas.idcard.subject.id | SubjectId for IDKort til NAS-kald. | 46837428 |
nas.idcard.subject.name | Subjectname for IDKort til NAS-kald. | Funktionssignatur til testmiljø (funktionscertifikat) |
nas.idcard.level | Sikkerhedsniveau for IDKort til NAS-kald. | 3 |
nas.idcard.system.name | Systemnavn i IDKort til NAS-kald. | itsystem |
nas.sts.endpoint | Endpointet, hvor Minspærring skal trække sit SOSI IDkort på baggrund af sts.keystore | http://test2.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService |
nas.sts.test.mode | Boolsk værdi, der angiver om der anvendes test- eller produktions SOSIFederation | true |
nas.sts.keystore | sti til keystore, der indeholder certifikat til at trække Idkort til NAS-kald. | Statens_Serum_Institut_FOCES.jks |
nas.sts.keystore.password | Password til sts.keystore | n/a |
jobs.delete.max.time | Angiver den maksimale udførelsestid for baggrundsjobbet. Angives som Duration i ISO-8601 formattet. Default værdien er på 20 sekunder. | PT20S |
log4j.xml
Konfigurerer logning for servicen.
Der benyttes en rolling file appender, hvor størrelsen af log filerne og antallet af gemte log filer konfigureres med de to environment variable: LOG_MAX_FILE_SIZE og LOG_MAX_BACKUP_INDEX.
Standardværdierne angiver nogle brugbare niveauer for anvendelse i produktion. Se Driftsvejledningen for uddybet beskrivelse af logning.
Se den officielle Log4j dokumentation for alternativ konfiguration.
minlogclient.properties
BTR anvender MinLogProvider til at registrere logninger i MinLog2, og i den forbindelse skal Kafka properties for Min Log 2 konfigureres.
Property | Beskrivelse |
---|---|
kafka.producer.bootstrap.servers | Kafka endpoint, som anvendes i forbindelse med kald til MinLog2 |
kafka.producer.client.id | Navnet som BTR vil fremgå med i listen af Producers på et Kafka Cluster. |
kafka.producer.key.serializer | Serializer key for Kafka producer |
kafka.producer.key.value.serializer | Serializer value for Kafka producer |
kafka.topic | Kafka topic som anvendes i forbindelse med kald til MinLog2 |
log4j-nspslalog.properties
Standardværdierne konfigurerer en Log4j-backend der logger med ISO 8601 timestamps.
Se NSP-util - Designdokument.doc eller den officielle Log4j 1 dokumentation for alternativ konfiguration.
accesshandler
security.properties
Konfigurerer security-api'et. Standardværdierne opsætter en keystore til signering af responses. Der henvises til accesshandlerens dokumentation for yderligere detaljer om konfiguration af security-api'et.
security.skip
Der henvises til accesshandlerens dokumentation for yderligere detaljer om konfiguration af security-api'et.
Konfiguration af datasources
ltr-btr-service-wildfly-komponenten kræver adgang til en JNDI-datakilde. Det skal opsættes i Wildfly og henvises til i tjenestens application.properties.
Overblik over komponenter
Filnavn når deployet | Beskrivelse | Kilde |
---|---|---|
btr-service.war | LTR-BTR servicen | ltr-btr-service-wildfly-<version>.war |
ltr-btr-operations.war | LTR-BTR baggrundsjob | ltr-btr-operations |
Komponentspecifikke-properties
...
Angiver om responses skal schema-valideres (true/false)
...
Angiver om et kald skal returnere fejl, hvis response ikke er schema-valid (true/false)
...
Angiver det præcise tidspunkt (ISO 8601) fra hvornår mulighed for oprettelser aktiveres for Behandlingstestamenteregistret. Hvis denne er null eller ikke er mulig at parse som et tidspunkt, vil mulighed for oprettelse alligevel være muligt, og en advarsel vil blive logget ved opstart.
Hvis oprettelser og opdateringer deaktiveres for Behandlingstestamenteregistret, vil integrationstestene fejle.
...
1000
...
log4j2.xml
Konfigurerer logning for servicen.
Standardværdierne angiver nogle brugbare niveauer for anvendelse i produktion. Se Driftsvejledningen for uddybet beskrivelse af logning.
Se den officielle Log4j 2 dokumentation for alternativ konfiguration.
minlogclient.properties
Konfigurerer MinLog for servicen.
Standardværdierne indeholder konfiguration der skriver MinLog-logninger til test1-miljøet.
I produktion skal properties konfigureres som beskrevet i MinLog Service - Guide til anvendere .
nspslalog-btr.properties
Konfigurerer SLA-logning for servicen.
Standardværdien er at SLA-logning er slået til.
Se NSP-util - Designdokument.doc for alternativ konfiguration.
log4j-nspslalog.properties
Standardværdierne konfigurerer en Log4j-backend der logger med ISO 8601 timestamps.
Se NSP-util - Designdokument.doc eller den officielle Log4j 1 dokumentation for alternativ konfiguration.
Konfiguration af proxy-komponent
Wsproxy er en separat komponent og har derfor adskilte konfigurationsfiler ift. selve servicen. Bemærk at disse konfigurationsfiler ikke er placeret i et modul, men i stedet under etc/wildfly/standalone/configuration. De skal installeres i <wildfly-root>/ standalone/configuration.
Der henvises til Installationsvejledning (DGWS/IDWS Proxy) for nærmere beskrivelse af konfigurationen.
wsproxy-btr.properties
Konfigurerer wsproxy komponenten.
Standardværdierne indeholder konfiguration til test1-miljøet, der signerer IDWS-responses med det medfølgende testcertifikat.
proxyconfig-btr.xml
Konfigurerer mapning af requests til den interne forwarding fra wsproxy til selve servicen.
Standardværdierne angiver nogle brugbare konfigurationer af mapninger for anvendelse i produktion.
log4j2-wsproxy-btr.xml
Konfigurerer wsproxy komponentens egen logning. Komponenten har både service-logning og audit-logning.
Standardværdierne angiver nogle brugbare niveauer for anvendelse i produktion.
Konfiguration af migreringskomponent
application.properties
...
JTA transaktioner. Det er påkrævet at denne er false, således at Spring Boot i stedet anvender dens egen håndtering af transaktioner. (true/false)
...
log4j2.xml
Konfigurerer logning for migreringskomponenten.
Standardværdierne angiver nogle brugbare niveauer for anvendelse til migrering i produktion. Se migeringsvejledningen for uddybet beskrivelse af logning.
Se den officielle Log4j 2 dokumentation for alternativ konfiguration.
Konfiguration af datasources
ltr-btr-service-wildfly komponenten kræver adgang til 2 JNDI datasources. Disse skal opsættes i Wildfly og refereres til i servicens application.properties.
Vær opmærksom på at datasource'ene skal opsættes med en strategi for reconnect håndtering i produktion. Se Wildfly's dokumentation for opsætning af datasources.
Info |
---|
I mappen etc/wildfly/standalone/deployments er inkluderet eksempler på datasource-konfigurationer til Livstestamenteregister-databasen (ltr-ds.xml), Behandlingstestamenteregister-databasen (btr-ds.xml) og til (den replikerede) stamdata-database (stm-ds.xml). Disse datasource-konfigurationsfiler kan opsættes i Wildfly ved at kopiere dem ind i <wildfly-root>/standalone/deployments. Derudover skal der også deployes en databaseklient-driver i samme mappe. De medfølgende datasource-konfigurationer anvender driveren mysql-connector-java-5.1.29.jar og denne medfølger ikke i projektet. |
Ændring til standardkonfiguration i Wildfly
Standardkonfigurationen i Wildfly refererer i filen modules/system/layers/base/sun/jdk/main/service-loader-resources/META-INF/services/javax.script.ScriptEngineFactory til 2 ScriptEngineFactories:
com.sun.script.javascript.RhinoScriptEngineFactory
jdk.nashorn.api.scripting.NashornScriptEngineFactory
RhinoScriptEngineFactory findes ikke i Java 8. Derfor fås fejlen "javax.script.ScriptEngineFactory: Provider com.sun.script.javascript.RhinoScriptEngineFactory not found" når der anvendes Java 8. For at undgå denne fejlmeddelelse under opstart af Wildfly skal den første linje fjernes eller udkommenteres.
Deployment af komponenter
Komponenter, der skal deployes til Wildfly, kopieres til mappen <wildfly-root>/standalone/deployments.
Filnavn når deployet | Beskrivelse | Kilde |
---|---|---|
btr-service.war | LTR-BTR servicen | ltr-btr-service-wildfly-<version>.war |
btr.war | DGWS/IDWS Proxy. Se Installationsvejledning (DGWS/IDWS Proxy) for dokumentation. War-filen for wsproxy komponenten omdøbes til btr.war, hvilket bevirker at webservice context-path for wsproxy i dette tilfælde bliver /btr. | wsproxy-<version>.war (findes ikke i ltr-btr-projektet) |
ltr-migration.war | LTR migeringsværktøj. Deployes kun når migrering skal foretages. | ltr-migration-<version>.war |
Se driftsvejledningen for yderligere information.
...
Når der kommer opgraderinger til en komponent, vil der medfølge release notes, der beskriver opgradering, fallback, osv. for den enkelte komponent.
Start/genstart af komponenterne
Alle komponenter kan genstartes ved at opdatere war-filens last access time med Unix-kommandoen touch, hvilket automatisk detekteres af Wildfly's deploynent scanner. Alternativt kan Wildfly genstartes.