SKLTP EI Mule - Konfiguration

För att överlagra defaultinställningar behöver en fil med namnet ei-config-override.properties finnas på classpath.

Generellt

ParameterDefaultvärdeKommentarInför i version
EI_HSA_IDlogical-adressHSA ID för EI, samma som ägare
VP_HSA_IDvp-hsa-idHSA 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_IDEI_HSA_ID

Alternativ logisk adress för EI. Se SKLTP-898 Getting issue details... STATUS

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:

ParameterVärdeKommentar
innodbonDefault engine ska vara InnoDB
innodb_log_buffer_size8MRekommendation
innodb_file_per_tableonReorganisering av data underlättas om en tabell har egen fil för lagring
innodb_buffer_pool_size2GNågonstans mellan 50-75% av RAM är rekommenderat
innodb_log_file_size512MRunt 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_pathibdata1: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 
bort i globala filen (/etc/mysql/my.cnf)
default-character-setutf8TBD
collation-serverutf8_unicode_ciTBD
character-set-serverutf8TBD

 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.

Observera att databasen ska backas upp online, dvs. en så kallad "hot" backup där rekommendation är:
  • 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. 

ParameterDefaultvärdeFör MYSQLKommentar

EI_JDBC_DRIVER

org.hsqldb.jdbcDriver

com.mysql.jdbc.Driver

EI_JDBC_URL

jdbc:hsqldb:mem:.jdbc:mysql://localhost:3306/ei

EI_JDBC_USR

saei_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

ParameterVärdeKommentar
SOITOOLKIT_MULE_AMQ_MAX_REDELIVERIES-1Antalet 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_DELAY60 000 (60 sek)Sätter tiden mellan nya omsändningsförsök
COLLECT_JMS_RECEIVE_TIMEOUT_MILLIS20000 (20 sek)Hur ofta kön ska kontrolleras. Ändrat fr.o.m ver. 2.1.5
COLLECT_MAX_BUFFER_AGE_MILLIS20000 (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:

log4j.xml
    <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å.

ParameterVärdeKommentar
SOITOOLKIT_LOG_INFO_QUEUESOITOOLKIT.LOG.STOREKonfigurera vilken kö INFO events skall hamna på.
SOITOOLKIT_LOG_ERROR_QUEUESOITOOLKIT.LOG.ERRORKonfigurera 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)

log4j.xml
    <!-- 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)

log4j.xml
     <!-- Message logging using soi-toolkit LogTransformer class -->
    <logger name="org.soitoolkit.commons.mule.messageLogger">
        <level value="WARN" />
    </logger>