Konfiguration av Virtualiseringsplattformen
VP 2.2.0 och tidigare
Enligt ärende SKLTP-163 finns det i VP 2.2.0 och tidigare ingen möjlighet till att överlagra parametrar i konfigurationsfiler. Detta är löst från och med release 2.2.1, men för installationer av tidigare version gäller att kompletta konfigurationsfiler måste finnas tillgängliga för applikationen, på dess classpath. Bifigade filer kan användas som utgångspunkt för att konfigurera en VP installation. Notera att detta är default-konfiguration som behöver kompletteras med specifika inställningar för specifika miljöer.
VP 2.2.1 och senare
Från och med version 2.2.1 överlagras defaultinställningar genom att på applikationens classpath skapa 2 filer, vp-config-override.properties och vp-security-override.properties. I dessa 2 filer definierar man endast de parametrar som skall skilja sig från de defaultinställningar som finns definierade i applikationen. I den mule-paketerade applikationen (vp-services-[version].zip) finns defaultinställningar definierade under <zip>/classes/vp-config.properties, respektive <zip>/classes/vp-security.properties.
Parametrar i vp-config.properties
Parameter = Unikt namn på konfigurations parameter.
Default värde = Värdet på parametern, så som det är konfigurerat i den paketerade VP applikationen. Kan överlagras med egna värden vid behov, se version av VP ovan för mer info om överlagring av parametrar.
Kommentar = Förklaring/hjälp för en parameter.
Applikationsinställningar
Generella inställningar för VP, som inte faller in under något specifikt område
Parameter | Default värde | Kommentar |
---|---|---|
IP_WHITE_LIST | 127.0.0.1 | Kommaseparerad lista innehållandes ip-adresser över konsumenter som vill kommunicera med VP via http. Exempel på Default tillåts 127.0.0.1, dvs kommunikation internt exempelvis för aggregerande tjänster och Engagemangsindex. |
VAGVALROUTER_INBOUND_URI | vagvalrouter/v1 | |
VAGVALROUTER_SENDERID | OU | |
VAGVALROUTER_HTTPSCONSUMERCONNECTORNAME | VPConsumerConnector | |
Dashboard för enkel statistik på tillgängliga tjänster
Parameter | Default värde | Kommentar |
---|---|---|
HTMLDASHBOARDSERVICE_INBOUND_URI | monitor/dashboard | Adress till den tjänst i VP som exponerar enkel statistik på de virtuella tjänster som finns driftsatta. |
HTMLDASHBOARDSERVICE_PORT | 22000 | Port till den tjänst i VP som exponerar enkel statistik på de virtuella tjänster som finns driftsatta. |
Monitorera om VP är operativ
VP exponerar en tjänst som kan användas för att avgöra om tjänsten VP är operativ, dvs att alla nödvändiga resurser som VP behöver finns tillgängliga och fungerar.
Notera att denna tjänst inte skall blandas ihop med virtuella tjänsten Ping eller PingForConfiguration.
Parameter | Default värde | Kommentar |
---|---|---|
PINGSERVICE_INBOUND_URI | monitor/ping | Adress (URI) till ping-tjänst. |
PINGSERVICE_PORT | 21000 | Port till ping-tjänst. |
PINGSERVICE_RESPONSE | TP is alive! | Texten som ping-tjänsten svarar med om VP är operativ. |
PINGSERVICE_ERROR_RESPONSE | TP ERROR: | Texten som ping-tjänsten svarar med om VP inte operativ. Efter : fyller VP på med felmeddelande. |
PINGSERVICE_TEST_LOGICAL_ADDRESS | TEST_SERVICE_HSA_ID | Den logiska adress som ping-tjänsten använder för att göra ett internt anrop till virtuella tjänsten Ping. För att detta skall fungera korrekt måste det gå att adressera virtuella Ping tjänsten i VP mad angiven logisk adress. Routing och behörighet för detta sätts upp i Tjänstekatalogen. |
PINGSERVICE_TEST_TIMEOUT_MS | 2000 | Timeout i millisekunder (2000 ms = 2 sekunder) som tjänsten har på sig att svara. |
PINGSERVICE_TEST_URL | https://${TP_HOST}:${TP_PORT}/${TP_BASE_URI}/Ping/1/rivtabp20 | Adress till den virtuella Ping tjänst som ping-tjänsten anropar. |
VP exponerar även tjänsten PingForConfiguration, definierad i RIV TA.
Parameter | Default värde | Kommentar |
---|---|---|
PINGFORCONFIGURATIONSERVICE_RIVTABP20_PORT | 23001 | Port till PingForConfiguration tjänsten. |
PINGFORCONFIGURATIONSERVICE_RIVTABP20_INBOUND_URI | PingForConfiguration/1/rivtabp20 | Adress (URI) till PingForConfiguration tjänsten. |
PINGFORCONFIGURATIONSERVICE_RIVTABP21_PORT | 23001 | Port till PingForConfiguration tjänsten. |
PINGFORCONFIGURATIONSERVICE_RIVTABP21_INBOUND_URI | PingForConfiguration/1/rivtabp21 | Adress (URI) till PingForConfiguration tjänsten. |
Hantering av VP's lokala cache för Tjänsteadresseringskatalogen
Konfiguration för tjänsten reset TAK cache, vlken används för att ladda in ny information från Tjänsteadresseringskatalogen.
Parameter | Default värde | Kommentar |
---|---|---|
RESETVAGVALCACHE_INBOUND_URI | resetcache | Adress (URI) till tjänsten resetcache. Denna konfiguration ger att tjänsten är tillgänglig via http//:23000/resetcache |
RESETVAGVALCACHE_PORT | 23000 | Port till tjänsten resetcache. |
LOCAL_TAK_CACHE | ${user.home}${file.separator}.tk.localCache | Sökväg till filen som skall innehålla den lokala cachen av Tjänstekatalogen i VP. Sedan release VP 2.2.1 |
Hantering av lokal cache av HSA's organisationsträd
Konfiguration för tjänsten reset HSA cache, vlken används för att ladda in ny information från HSA. Informationen från HSA representeras i form av XML filer som läses in i VP.
Parameter | Default värde | Kommentar |
---|---|---|
RESETHSACACHE_INBOUND_URL | http://${TP_HOST}:24000/resethsacache | Adress (URI) till tjänsten resethsacache. Denna konfiguration ger att tjänsten är tillgänglig via http//:24000/resethsacache |
RESETHSACACHE_TIMEOUT_MS | 10000 | Timeout i millisekunder (10000 ms = 10 sekunder) som tjänsten har på sig att svara. |
HSA_FILES | src/test/resources/hsacache.xml,src/test/resources/hsacachecomplementary.xml | Kommaseparerad lista av sökvägar till filer som innehåller HSA information att ladda in i VP's HSA cache.
Notera att i VP 2.2.0 och VP 2.2.1 så finns det ingen default HSA fil paketerad. För att VP skall starta krävs därför att man uppdaterar vp-config.properties (VP 2.2.0) eller vp-config-override.properties (VP 2.2.1) med en sökväg till en existerande hsacachecomplementary.xml. För VP 2.2.1 finns en HSA fil med enbart SE noden att ladda ner här, läs installationsanvisning för VP 2.2.1 en för hur den skall appliceras. |
Köhantering, ActiveMQ
Inställningar för ActiveMQ och köer för hantering av loggar
Parameter | Default värde | Kommentar |
---|---|---|
SOITOOLKIT_MULE_AMQ_BROKER_URL | failover:(tcp://localhost:61616) | Adress för att koppla upp VP till ActiveMQ |
SOITOOLKIT_MULE_AMQ_MAX_REDELIVERIES | 3 | Antalet försök innan ett meddelande anses felaktigt och skickas till dead letter kön |
SOITOOLKIT_MULE_AMQ_REDELIVERY_DELAY | 10000 | Sätter tiden mellan nya omsändningsförsök, 10000 = 10 sekunder |
SOITOOLKIT_MULE_AMQ_NO_OF_CONSUMERS | 2 | Antalet konsumenter som kommer att startas upp och ta emot meddelanden |
SOITOOLKIT_LOG_INFO_QUEUE | SOITOOLKIT.LOG.INFO | Könamn för köer att hantera meddelande (request/response) loggar. |
SOITOOLKIT_LOG_ERROR_QUEUE | SOITOOLKIT.LOG.ERROR | Könamn för köer att hantera error loggar. |
Generellt tjänster, ändpunkter
Parameter | Default värde | Kommentar |
---|---|---|
TP_DISPATCH_MAX_THREADS_ACTIVE | 50 | |
TP_DISPATCH_MAX_THREADS_IDLE | 25 | |
TP_DISPATCH_MAX_THREADS_TTL | 10000 | |
TP_RECEIVE_MAX_THREADS_ACTIVE | 50 | |
TP_RECEIVE_MAX_THREADS_IDLE | 25 | |
TP_RECEIVE_MAX_THREADS_TTL | 10000 | |
SERVICE_TIMEOUT_MS | 30000 | Ange i millesekunder, defaultvärde hur länge en ändpunkt skall vänta innan ett synkront anrop avbryts. Läs också det som beskrivs i rubriken Feature responseTimeout för konfiguration per tjänst. |
SOCKET_SO_LINGER_MS | 40000 | |
CLIENT_SO_TIMEOUT_MS | 30000 | SO_TIMEOUT is the timeout that a read() call will block. If the timeout is reached, a java.net.SocketTimeoutException will be thrown. # If you want to block forever put this option to zero (the default value), then the read() call will block until at least 1 byte could be read. Sedan VP 2.2.2 |
VP_MULE_HTTPS_PRODUCER_CONNECTOR_TCPNODELAY | true | |
VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE | true | |
VP_MULE_HTTPS_PRODUCER_CONNECTOR_KEEPALIVE_TIMEOUT_MS | 70000 | |
VP_MULE_HTTPS_CONSUMER_CONNECTOR_TCPNODELAY | true | |
VP_MULE_HTTPS_CONSUMER_CONNECTOR_KEEPALIVE_TIMEOUT_MS | 70000 | |
VP_MULE_HTTP_CONSUMER_CONNECTOR_TCPNODELAY | true | |
VP_MULE_HTTP_CONSUMER_CONNECTOR_KEEPALIVE | true | |
VP_MULE_HTTP_CONSUMER_CONNECTOR_KEEPALIVE_TIMEOUT_MS | 70000 | |
VP_MULE_HTTP_CONSUMER_CONNECTOR_SERVICE_TIMEOUT_MS | 30000 | Ange i millesekunder hur länge VP skall vänta på att en klient har leveretat hela sitt svar Borttagen i release VP 2.2.2, all hantering av default timeout definieras i SERVICE_TIMEOUT_MS, läs också det som beskrivs i rubriken Feature responseTimeout för konfiguration per tjänst. |
VP_MULE_HTTP_CONSUMER_CONNECTOR_SOCKET_SO_LINGER_MS | 0 | |
VP_MULE_HTTP_CONSUMER_CONNECTOR_CLIENT_SO_TIMEOUT_MS | 30000 | SO_TIMEOUT is the timeout that a read() call will block. If the timeout is reached, a java.net.SocketTimeoutException will be thrown. # If you want to block forever put this option to zero (the default value), then the read() call will block until at least 1 byte could be read. Sedan VP 2.2.2 |
TP_HOST | localhost | Den host som VP exponerar virtuella tjänster på. |
TP_PORT | 20000 | Den port som VP exponerar virtuella tjänster på, via https. |
TP_PORT_HTTP | 8080 | Den port som VP exponerar virtuella tjänster på, via http. |
TP_BASE_URI | vp | Den adress (URI) som VP exponerar virtuella tjänster på. Givet ovan konfiguration för tex https skulle adressen för att nå en virtuell tjänst i VP vara https://localhost:20000/vp/<adress till virtuell tjänst> |
Inställningar för att VP´s koppling till Tjänsteadresseringskatalogen (TAK)
Parameter | Default värde | Kommentar |
---|---|---|
TP_SOKVAGVALSINFO_URL | http://localhost:8082/tp-vagval-admin-services-1.3.1/SokVagvalsInfo | Adress till tjänsten i TAK för att hämta behörigheter och routing information. |
TK_HOST | localhost | Tjänstekatalogens host adress. |
TK_PORT | 8080 | Tjänstekatalogens port. |
GETSUPPORTEDSERVICECONTRACTS_OUTBOUND_URI | tp-vagval-admin-services/GetSupportedServiceContracts | Adress till tjänsten i TAK för att hämta information om vilka tjänstekontrakt som stöds av en verksamhet/system (logisk adress). |
GETSUPPORTEDSERVICECONTRACTS_V2_OUTBOUND_URI | tp-vagval-admin-services/GetSupportedServiceContracts/v2 | Version 2 av adress till tjänsten i TAK för att hämta information om vilka tjänstekontrakt som stöds av en verksamhet/system (logisk adress). Sedan VP 2.2.2 |
GETSUPPORTEDSERVICECONTRACTS_RIVTABP21_PORT | 23001 | Port till tjänsten i TAK för att hämta information om vilka tjänstekontrakt som stöds av en verksamhet/system (logisk adress). |
GETLOGICALADDRESSESBYSERVICECONTRACT_OUTBOUND_URI | tp-vagval-admin-services-1.3.1/GetLogicalAddresseesByServiceContract | Adress till tjänsten i TAK för att hämta information om vilka verksamheter/system (logisk adress) en konsument har behörighet att anropa, givet tjänstekontrakt. Borttagen i release VP 2.2.2 |
GETLOGICALADDRESSESBYSERVICECONTRACT_RIVTABP21_PORT | 23001 | Port till tjänsten i TAK för att hämta information om vilka verksamheter/system (logisk adress) en konsument har behörighet att anropa, givet tjänstekontrakt. Borttagen i release VP 2.2.2. Ersätts av GETLOGICALADDRESSESBYSERVICECONTRACT_V1_INBOUND_ENDPOINT |
GETLOGICALADDRESSESBYSERVICECONTRACT_V1_INBOUND_ENDPOINT | https://${TP_HOST}:23001/${TP_BASE_URI}/GetLogicalAddresseesByServiceContract/1/rivtabp21?connector=VPProducerConnector | Ersätter GETLOGICALADDRESSESBYSERVICECONTRACT_RIVTABP21_PORT för att kunna styra om man vill ha http eller https internt. Default till samma port som tidigare. Sedan VP 2.2.2 |
GETLOGICALADDRESSESBYSERVICECONTRACT_V2_INBOUND_ENDPOINT | http://${TP_HOST}:${TP_PORT_HTTP}/${TP_BASE_URI}/services/GetLogicalAddresseesByServiceContract/2/rivtabp21 | Sedan VP 2.2.2 |
Feature keep-alive
För de virtuella tjänster i VP som har stöd för keep-alive finns det möjlighet att per tjänst styra om keep-alive skall vara aktiverat eller ej. Ett default värde (feature.keepalive) sätts för alla virtuella tjänster som sedan kan överlagras av respektive tjänst som vill aktivera keep-alive. Aktiveringen av keep-alive görs enligt en given konvention:
Konvention: feature.keepalive.<service contract namespace>=true
Exemple: feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=true #
Parameter | Default värde | Kommentar |
---|---|---|
feature.keepalive | false | Default värde som sätter alla virtuella tjänster till att keep-alive inte skall vara aktiverat. Detta överlagras av respektive tjänst som vill ha keep-alive påslaget enligt konventionen beskriven ovan. |
Feature responseTimeout
Sedan release
VP 2.2.2
För de virtuella tjänster i VP som har stöd för individuell inställning av response timeout går detta att styra per tjänst. Ett default värde (SERVICE_TIMEOUT_MS) sätts för alla virtuella tjänster som sedan kan överlagras av repektive tjänst enligt följande tillvägagångssätt.
Konvention: feature.featureresponsetimeout.<service contract namespace>=true
Exemple: feature.featureresponsetimeout.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=5000
Default sätts response timeout i parametern SERVICE_TIMEOUT_MS.
Parametrar i vp-security.properties
Sökväg till katalog innehållandes certifikat
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_LOCATION | ../certs | Katalogen som innehåller certifikatsfiler. |
Truststore
En truststore innehåller certifikat från andra intressenter som vp förväntas kommunicera med och lita på.
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_TRUSTSTORE_TYPE | jks | format på truststore |
TP_TLS_STORE_TRUSTSTORE_FILE | truststore.jks | filnamn på truststore innehållandes certifikat som vp förväntas lita på |
TP_TLS_STORE_TRUSTSTORE_PASSWORD | password | lösenordet på truststore |
Keystore som producent
Keystore som innehåller autentiseringsinformation som skall skickas till konsumenter när VP agerar som producent, dvs när VP tar emot information.
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_PRODUCER_TYPE | jks | format på keystore |
TP_TLS_STORE_PRODUCER_FILE | tp.jks | fiknamn på klientcertifikat |
TP_TLS_STORE_PRODUCER_PASSWORD | password | |
TP_TLS_STORE_PRODUCER_KEY_PASSWORD | password |
Keystore som konsument
Keystore som innehåller autentiseringsinformation som skall skickas till producenter när VP agerar som konsument, dvs när VP skickar information.
Parameter | Default värde | Kommentar |
---|---|---|
TP_TLS_STORE_CONSUMER_TYPE | jks | format på keystore |
TP_TLS_STORE_CONSUMER_FILE | client.jks | fiknamn på klientcertifikat |
TP_TLS_STORE_CONSUMER_PASSWORD | password | |
TP_TLS_STORE_CONSUMER_KEY_PASSWORD | password |
Konfigurera loggning av LogEvents
VP 2.2.0 och tidigare
För att undvika att LogEvents loggas både till en kö och till en logfil kan en appender konfigureras med Treshold parametern. Detta i kombination med att INFO nivå är satt kommer att göra att LogEvents hamnar på en kö men inte i logfilen. Notera att Treshold är en global inställning som påverkar all konfiguration i aktuell <vp-services>/classes/log4j.xml.
<appender class="org.apache.log4j.RollingFileAppender" name="ROLLINGFILE"> <param value="${mule.home}/logs/mule-app-vp.log" name="File"/> <param value="10" name="MaxBackupIndex"/> <param value="20MB" name="MaxFileSize"/> <param name="Threshold" value="ERROR"/> <layout class="org.apache.log4j.PatternLayout"> <param value="%-5p %d [%t] %c: %m%n" name="ConversionPattern"/> </layout> </appender> <!--Set to INFO to store log events, ERROR or WARN will disable log events --> <logger name="org.soitoolkit.commons.mule.messageLogger"> <level value="INFO" /> </logger>
VP 2.2.1 och senare
I VP 2.2.1 och senare finns det möjlighet att konfigurera att LogEvents skall hamna på kö eller hamna på kö och i VP's mule-log. Detta görs genom att i <vp-services>/classes/log4j.xml uppdatera de parametrar som styr loggning av LogEvents. En separat konfiguration för hanteringen av loggning till kö med <logger name="org.soitoolkit.commons.mule.messageLogger"> och en separat konfiguration för loggning till vald appender med <logger name="se.skl.tp.vp.util.EventLogger">.
<!-- For logging events to QUEUE using EventLogger: INFO puts logevents and errorevents on log queue ERROR will only put errorevents on log queue --> <logger name="org.soitoolkit.commons.mule.messageLogger"> <level value="INFO" /> </logger> <!-- For logging events to APPENDER using EventLogger: INFO logs logevents and errorevents to selected appender ERROR will only log errorevents to selected appender --> <logger name="se.skl.tp.vp.util.EventLogger"> <level value="INFO"/> </logger>