Nærværende dokument udgør udviklervejledningen for CRK (Central Rutekonfiguration). Denne udviklervejledning er gældende for BIVWSP version 1.0.X.
CRK benytter sig af en række open source projekter. Til at styre afhængighederne og bygge projektet benyttes maven3
CRK projektet ligger i NSP subversion repository og kan nås på følgende adresse:
https://svn.nspop.dk/svn/components/crk/trunk
Projektet er struktureret som et standard docker-container-projekt.
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/
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.
Det er muligt at tjekke om CRK kan indlæse DKS konfigurationen fra en HTTP på følgende måde.
crk-jobs.xml:
<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.
Der pt. ingen kendte fejl.