Page History
| Navitabs | ||||
|---|---|---|---|---|
|
...
Indledning
Formålet med dette dokument er at beskrive, hvordan et udviklingsmiljø til videreudvikling af SORES kan sættes op, samt hvordan koden bygges og deployes.
Opsætning af udviklingsmiljø
...
Nærværende dokument udgør udviklervejledningen for CRK (Central Rutekonfiguration). Denne udviklervejledning er gældende for BIVWSP version 1.0.X.
Afhængigheder
CRK benytter sig af en række open source projekter. Til at styre afhængighederne og bygge projektet benyttes maven3
Projektstruktur
CRK projektet ligger i NSP subversion repository og kan nås på følgende adresse:
https://svn.nspop.dk/svn/components/
...
Kørsel af systemet sker ved hjælp af Docker-compose 3.6 eller senere.
Koden bygges med kommandoen
| Code Block | ||
|---|---|---|
| ||
mvn install |
Den byggede WAR-fil kan afvikles med kommandoen
| Code Block | ||
|---|---|---|
| ||
sores(trunk)/compose/development> docker-compose up |
development-compose-filen kan volume-mappe WAR-filen ind (udkommenteret som default), så efterfølgende byg med maven detekteres automatisk af den kørende wildfly.
Bemærk, at servicen først kan besvare forespørgsler, når data er indlæst via et kald til /reload.
Såfremt der benyttes XML-baseret indlæsning skal et SOR-udtræk hentes og indholdet udpakkes i compose/development/sores_xml_input_folder inden /reload kaldes.
...
Projektet er struktureret som et standard docker-container-projekt.
Byggevejledning
Komponenten bygges fra trunk med maven på sædvanlig vis:
|
Herefter kan en lokal udgave kan startes med docker
|
Snapshot-releases kan lægges i NSP registry med Jenkins: https://jenkins.nspop.dk/job/CRK_push_snapshot/
Tests
Unit test er placeret under src/test og anvender samme pakkestruktur som de klasser de tester. Testene er udformet som Junit 4 annoterede test-cases.
Grundet komponentens opbygning i scheduled tasks er der for øjeblikket ikke udarbejdet integrationstests.
Manuel test
Det er muligt at tjekke om CRK kan indlæse DKS konfigurationen fra en HTTP på følgende måde.
crk-jobs.xml:
| Code Block |
|---|
<bean id="exampleReloadJobFromFile" class="dk.nsi.nsp.crk.EndpointDefinitionJob">
<property name="configId" value="job1" />
<property name="resource" value="${jboss.home.dir}/modules/nsi/crk/configuration/main/jobs/dks-example-http.xml" />
<property name="enabled" value="false" />
<property name="timeoutMillis" value="10000" /> <!-- optional, default=10000 millis -->
</bean>
<bean id="exampleReloadJobFromHttp" class="dk.nsi.nsp.crk.EndpointDefinitionJob">
<property name="configId" value="job2" />
<property name="resource" value="http://test1.fmk.netic.dk/fmk12/services/dksconfig?Version=FMK_1_4_4" />
<property name="enabled" value="true" />
<property name="timeoutMillis" value="10000" /> <!-- optional, default=10000 millis -->
</bean>
<task:scheduled-tasks scheduler="myScheduler">
<!-- every hour -->
<task:scheduled ref="exampleReloadJobFromFile" method="run" cron="0 1 * * * *"/>
<!-- every minute -->
<task:scheduled ref="exampleReloadJobFromHttp" method="run" cron="0 * * * * *"/>
</task:scheduled-tasks>
|
Indlæsning fra en fil skal sættes til 'false' og indlæsning fra HTTP skal sættes til 'true'. Den nederste task sørger for at den indlæses fra HTTP hvert minut.
Når CRK bliver startet op i docker compose, så vil DKS konfigurationen blive indlæst hvert minut og man kan se status på indlæsningen i compose/development/log/server.log.
Kendte fejl
Der pt. ingen kendte fejl.