SKLTP EI Mule - Konfiguration
För att överlagra defaultinställningar behöver en fil med namnet ei-config-override.properties finnas på classpath.
Generellt
Parameter | Defaultvärde | Kommentar | Inför i version |
---|---|---|---|
EI_HSA_ID | logical-adress | HSA ID för EI, samma som ägare | |
VP_HSA_ID | vp-hsa-id | HSA ID vid kommunikation med Tjänsteplattformen, tex GetLogicalAddresseesByServiceContract | |
GET_LOGICAL_ADDRESSES_BY_SERVICE_CONTRACT_OUTBOUND_URL | Adressen till ändpunkten som exponerar tjänsten GetLogicalAddresseesByServiceContract. http://<host>:<port>/vp/GetLogicalAddresseesByServiceContract/1/rivtabp21. | ||
UPDATE_NOTIFICATION_NOT_ALLOWED_HSA_ID_LIST | ${EI_HSA_ID},${VP_HSA_ID} | En kommaseparerad lista med HSA-Id:n som ej får lov att användas i fälten logicalAddress eller sourceSystem. Detta gäller för anrop till både Update- och Processnotificationtjänsterna. | 1.1.0 |
LOCAL_EI_SUBSCRIBER_CACHE | /tmp/ei.localCache3 | Sökväg till den fil där cachen med resultatet från GetLogicalAddresseesByServiceContract ska sparas. | 1.1.0 |
EI_ALTERNATIVE_HSA_ID | EI_HSA_ID | 2.1.1 |
Databas
Serverinställningar
Servern ska sättas upp med olika disk-partitioner för log-, data-, och operativsystem.
En riktlinje för storleken på databasen är att det krävs ca 8GB per 10 millioner poster. Dvs. utrymmet som krävs för en kapacitet om 250 millioner poster är då 200GB disk för datalagring.
Som server kan ett standardblock användas med följande rekommendationer med avseende på resurser:
- 1x CPU (2.5GHz) med dubbla kärnor eller liknande
- 4GB RAM
- 200GB disk-partition för Datafiler
- 8GB separat disk-partition för OS
- 4GB separat disk-partition för Logfiler
- Linux OS
- MySQL 5.5 eller senare
Rekommendation avseende inställningar för MySQL:
Parameter | Värde | Kommentar |
---|---|---|
innodb | on | Default engine ska vara InnoDB |
innodb_log_buffer_size | 8M | Rekommendation |
innodb_file_per_table | on | Reorganisering av data underlättas om en tabell har egen fil för lagring |
innodb_buffer_pool_size | 2G | Någonstans mellan 50-75% av RAM är rekommenderat |
innodb_log_file_size | 512M | Runt 25% av innodb_buffer_pool_size är rekommenderat |
innodb_log_group_home_dir | <på egen partition> | Logfiler ska inte lagras på samma disk-partition som datafiler. |
innodb_data_home_dir | <på egen partition> | Datafiler ska lagras på separat egen disk-partition, dvs. ej samma som root eller logfiler. |
innodb_data_file_path | ibdata1:100M:autoextend:max:5G | ...vad är kravet till denna parameter? |
innodb_log_arch_dir | <på egen partition> | Arkivfiler ska lagras på separat egen disk-partition, dvs. ej samma som root eller logfiler. |
bind-address | <ipadress> | Ipadress mysql skall lyssna på. Notera att bind-address behöver kommenteras |
default-character-set | utf8 | TBD |
collation-server | utf8_unicode_ci | TBD |
character-set-server | utf8 | TBD |
Det ska baktas att inställningar som ökar prestanda på bekostnad av transaktionssäkerhet som tex innodb_flush_method och innodb_flush_log_at_trx_commit inte ska ställas in på ett sätt som äventyrar konsistensen i databasen.
- Full backup 1 ggr per vecka
- Inkrementell backup 2 ggr per dygn
- Media för backup ska lagras på annan geografisk plats
Applikationsinställningar
Inställningar för applikation:
Applikationen använder en sk. pool av JDBC Connections och då även vad gäller JDBC PreparedStatements. Nuvarande implementation är baserad på Apache Commons bibliotek.
Parameter | Defaultvärde | För MYSQL | Kommentar |
---|---|---|---|
EI_JDBC_DRIVER | org.hsqldb.jdbcDriver | com.mysql.jdbc.Driver | |
EI_JDBC_URL | jdbc:hsqldb:mem:. | jdbc:mysql://localhost:3306/ei | |
EI_JDBC_USR | sa | ei_user | |
EI_JDBC_PWD | **** | ||
EI_JDBC_CON_POOL_INIT_SIZE | 1 | Initial storlek för poolen med JDBC Connections | |
EI_JDBC_CON_POOL_MAX_ACTIVE | 10 | Max storlek för poolen med JDBC Connections | |
EI_JDBC_CON_POOL_MAX_IDLE | 2 | Max antal JDBC Connections som får ligga oanvända i poolen |
Köhantering Active MQ
Köhantering är konfigurerbart genom ei-config-override.properties.
http://activemq.apache.org/redelivery-policy.html
Parameter | Värde | Kommentar |
---|---|---|
SOITOOLKIT_MULE_AMQ_MAX_REDELIVERIES | -1 | Antalet försök innan ett meddelande anses felaktigt och skickas till dead letter kön, -1 betyder oändligt antal försök. |
SOITOOLKIT_MULE_AMQ_REDELIVERY_DELAY | 60 000 (60 sek) | Sätter tiden mellan nya omsändningsförsök |
COLLECT_JMS_RECEIVE_TIMEOUT_MILLIS | 20000 (20 sek) | Hur ofta kön ska kontrolleras. Ändrat fr.o.m ver. 2.1.5 |
COLLECT_MAX_BUFFER_AGE_MILLIS | 20000 (20 sek) | Maxtid som enstaka requests får ligga på kö. Ändrat fr.o.m. ver. 2.1.5. Har tidigare varit 4 minuter. |
Loggning
Konfigurera applikationsloggning
Applikationsloggning konfigureras i <MULE_HOME>/apps/<EI [frontend|backend]>/classes/log4j.xml, som paketeras med default i applikationen. De log4j.xml som är paketerade i applikationen innehåller default-inställningar typsikst för en produktionsmilj.
Default loggas EI backend till <MULE_HOME>/logs/mule-app-skltp-ei-application-mule-backend-app.log
Default loggas EI frontend till <MULE_HOME>/logs/mule-app-skltp-ei-application-mule-frontend-app.log
Uppdatera lognivåer om det skulle behövas, kräver ingen omstart av applikationer.
Exempel på definitionen av filnamn och placering av logfil för ei frontend:
<appender name="ROLLINGFILE" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="${mule.home}/logs/mule-app-skltp-ei-application-mule-frontend-app.log" /> <param name="MaxFileSize" value="50MB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p %-30C - %m%n" /> </layout> </appender>
Konfigurera loggning till meddelandekö
I ei-config-override.properties konfigureras till vilka köer logevents skall hamn på.
Parameter | Värde | Kommentar |
---|---|---|
SOITOOLKIT_LOG_INFO_QUEUE | SOITOOLKIT.LOG.STORE | Konfigurera vilken kö INFO events skall hamna på. |
SOITOOLKIT_LOG_ERROR_QUEUE | SOITOOLKIT.LOG.ERROR | Konfigurera vilken kö ERROR events skall hamna på. |
Konfigurera loggnivå för meddelanden
I log4j.xml på respektive app, skltp-ei-application-mule-[front|backend]-app/classes, kan konfiguration av logevents göras.
Slå på loggning till meddelandekö för INFO (ger även ERROR och WARN)
<!-- Message logging using soi-toolkit LogTransformer class --> <logger name="org.soitoolkit.commons.mule.messageLogger"> <level value="INFO" /> </logger>
Slå på loggning till meddelandekö för WARN (ger endast WARN)
<!-- Message logging using soi-toolkit LogTransformer class --> <logger name="org.soitoolkit.commons.mule.messageLogger"> <level value="WARN" /> </logger>