Dette dokument dækker følgende komponenter på NSP:
NSP XDS Registry Felt migrerings service
Type: Webservice
Filnavn: nxrgfieldmigration.war
Url: <serverurl>/nxrgfieldmigration
Servicecheckurl: <serverurl>/nxrgfieldmigration/status
Versionurl: <serverurl>/nxrgfieldmigration/health
Formålet med servicen er beskrevet i design og arkitektur dokumentets afsnit felt migrering".
Inden man kan køre en feltmigrering, skal følgende ting være på plads. Disse klargøres i forbindelse med udvikling af komponenten og oprettes på systemet når NXRG installeres/opgraderes.
Ovenstående 3 punkter skal være inkluderet i samme NXRG release, og når den er installeret, er migreringen klar til at blive kørt (se afsnit nedenfor)
Grundlæggende konfiguration foregår ved redigering i filen nxrgfieldmigration.properties, der placeres i følgende WildFly modul:
/pack/wildfly/modules/sds/nxrgfieldmigration/configuration/main/
Moduldefinitionen er at finde i sourcekoden til nxrg under:
/compose/configuration/fieldmigration/module.xml
I filen skal følgende properties være definerede:
Property | Beskrivelse |
|---|---|
datasource.jndi.name | JNDI navnet på den datasource der giver adgang til NXRG databasen. |
| nxrg.data.max.no.of.documents | Angiver, hvor mange dokument registreringer (antal database records) der skal håndteres i een kørsel. Større antal tager længere tid. |
Log4j konfiguration findes i samme wildfly modul som servicekonfigurationen
Se yderligere opsætning i installationsvejledningen.
NXRG felt migrering udstiller en overvågningsside på endpoint <serverurl>/nxrgfieldmigration/status
Overvågningssiden returnerer enten:
NXRG udstiller to status sider
Udstilles på endpoint <serverurl>/nxrgfieldmigration/health
Eksempel på status:
{
"version":"1.0.14-SNAPSHOT"
} |
Den fortæller, hvilken version af felt migrering servicen, som kører.
Udstilles på endpoint <serverurl>/nxrgfieldmigration/fieldmigrationstatus
Eksempel på status:
[
{
"id":1,
"migrationid":"documententry-repositoryid-add",
"progressid":121,
"targetid":121,
"migrationStartTime":"2022-05-18T12:09:13Z",
"migrationEndTime":"2022-05-18T12:11:35Z",
"lastUpdateTime":"2022-05-18T12:11:35.886375Z"
}
] |
For hver felt migrering, som findes til NXRG, findes der en sådan record på status siden. Har felt migrering aldrig været kørt vil ovenstående have 0 i progressid samt null i migrationStartTime og migrationEndTime.
Felt | Beskrivelse |
|---|---|
id | En intern nøgle |
| migrationid | Navnet på migrering af feltet. Siger noget om, hvad der migreres |
| progressid | peger på en dokument registrering (id i documentEntries tabellen). Er 0 sålænge migreringen ikke er startet. Når en migrering er kørt, vil progressid pege på den sidste documentEntries, der er migreret i kørslen. Når migrationid rammer targetid, er der ikke mere at migrere. |
| targetid | peger på den sidste dokument registrering (id i documentEntries tabellen), der skal migreres. Når migrationid rammer denne værdi, er der ikke mere at migrere. |
| migrationStartTime | tidspunkt for, hvornår den første kørsel af migreringen er startet. Er værdien null har migrering af feltet aldrig været startet |
| migrationEndTime | tidspunkt for, hvornår migreringen er afsluttet (da progressid ramte targetid) |
| lastUpdagtedTime | tidspunkt for, hvornår data for feltmigreringen senest er opdateret |
Se afsnit "klargøring af felt migrering" først. Herefter kontroller at property nxrg.data.max.no.of.documents er sat til ønsket værdi.
For at aktivere en migrering anvendes servicens endpoint: <serverurl>/nxrgfieldmigration/fieldmigrationrun
Nu startes der en migrering for de "migrationid'er" som findes i listen man ser, når man tjekker migrerings status (se ovenfor). Er migrationEndTime udfyldt er der ikke noget at migrere. Men ellers køres der migering på det antal registreringer, der er angivet i property nxrg.data.max.no.of.documents.
Når migeringen afslutter får man følgende besked
{
"MigrationCompletion":"Migrering udført. Tjek log fil for detaljer"
} |
Når migreringen er kørt færdig kan felt migerings status kontrolleres med <serverurl>/nxrgfieldmigration/fieldmigrationstatus og felt migrerings applikationsloggen undersøges.
Eksempel på indhold af applikations loggen:
2022-05-19 10:47:23,454 [INFO] dk.nsp.nxrg.field.migration.service.impl.FieldMigrationStatusServiceImpl - Finding migrations 2022-05-19 10:47:23,459 [INFO] dk.nsp.nxrg.field.migration.service.impl.FieldMigrationStatusServiceImpl - Found 1 fieldMigration for status list 2022-05-19 10:47:32,624 [INFO] dk.nsp.nxrg.field.migration.service.impl.FieldMigrationServiceImpl - Migrating field data to NXRG ... 2022-05-19 10:47:32,642 [INFO] dk.nsp.nxrg.field.migration.service.model.ComplexDocumentEntryFieldMigration - Henter et batch dokumententries. Batch størrelse er: 20, progressId er 40 og targetid er: 156 2022-05-19 10:47:32,700 [INFO] dk.nsp.nxrg.field.migration.service.model.AddRepositoryUniqueId - migrering af: urn:uuid:a52c33e9-2736-48f3-a811-9ef7ed6903ee med repositoryUniqueId: 1.1.111.111.1.1 2022-05-19 10:47:32,707 [INFO] dk.nsp.nxrg.field.migration.service.model.AddRepositoryUniqueId - migrering af: urn:uuid:0aa46b22-02c5-4092-897c-bbc76ee1b8d5 med repositoryUniqueId: 1.1.111.111.1.1 ... 2022-05-19 10:47:32,845 [INFO] dk.nsp.nxrg.field.migration.service.model.AddRepositoryUniqueId - migrering af: urn:uuid:9ad8bca5-b28e-4f8e-a5c0-bb7f29578602 med repositoryUniqueId: 1.1.111.111.1.1 2022-05-19 10:47:32,854 [INFO] dk.nsp.nxrg.field.migration.service.model.AddRepositoryUniqueId - migrering af: urn:uuid:fb1e89de-ebe5-4cf8-a03d-e67f98b57c4d med repositoryUniqueId: 1.1.111.111.1.1 2022-05-19 10:47:32,866 [INFO] dk.nsp.nxrg.field.migration.service.model.AddRepositoryUniqueId - All RepositoryUniqueIds are migrated 2022-05-19 10:47:32,870 [INFO] dk.nsp.nxrg.field.migration.service.impl.FieldMigrationServiceImpl - Completed migrating field data to NXRG! Time spent: 0 seconds |