Innehållsförteckning |
---|
För att överlagra defaultinställningar behöver en fil med namnet ei-config-override.properties finnas på classpath.
Under uppbyggnad!
Generellt
...
GetLogicalAddresseesByServiceContract
...
Generellt
En vanlig fil med Java-properties kan användas för att ändra inställningar. Aktivera genom att sätta flaggan -Dspring.config.import=/etc/ei-backend/application.properties
Parameter | Defaultvärde/exempel | Kommentar |
---|---|---|
server.port | 8881 | Spring-boot serverport |
update.webservice.url | http://localhost:8081/skltp-ei/update-service/v1 | URL för Update webbtjänsten |
processnotification.webservice.url | http://localhost:8081/skltp-ei/notification-service/v1 | URL för ProcessNotification webbtjänsten |
findcontent.webservice.url | http://localhost:8082/skltp-ei/find-content-service/v1 | URL för FindContent webtjänsten |
management.endpoints.web.exposure.include | hawtio,jolokia | Behöver vara 'hawtio,jolokia' för att hawtio ska köras, 'health' behövs för probes |
management.endpoint.health.probes.enabled | true (sedan v3.2.1) | Exponera liveness/readiness probes |
management.endpoint.health.show-details | always (sedan v3.2.1) | Visa detaljer om health indicators |
management.health.livenessState.enabled | true (sedan v3.2.1) | Aktivera inbyggd livess-indikator |
management.health.readinessState.enabled | true (sedan v3.2.1) | Aktivera inbyggd readiness-indikator |
ei.hsa.id | ei-hsa-id | EIs egna HSA id |
ei.alternative.hsa.id | ei-hsa-id | Alternativ till EIs HSA-ID |
vp.hsa.id | vp-hsa-id | VP's sender-ID för interna anrop |
vp.instance.id | vp-instance-id | VP's instans-ID för interna anrop |
getlogicaladdresses.serviceEndpointUrl | http://localhost:8080/vp/getlogicaladdreesses | Utgående URL till GLABSC tjänsten |
getlogicaladdresses.logicalAddress | ${vp.hsa.id} | HSA id till GLABSC producenten |
getlogicaladdresses.vpSenderId | ${vp.hsa.id} | VP's sender-ID för interna anrop |
getlogicaladdresses.vpInstanceId | ${vp.instance.id} | VP's instans-ID för interna anrop |
getlogicaladdresses.connectTimeoutMs | 5000 | Connect timeout ms för GLABSC anrop |
getlogicaladdresses.requestTimeoutMs | 5000 | Request timeout ms för GLABSC anrop |
processnotification.serviceEndpointUrl | http://localhost:8080/vp/processnotification | Utgående URL för ProcessNotifications |
processnotification.vpSenderId | ${vp.hsa.id} | VP's sender-ID för interna anrop |
processnotification.vpInstanceId | ${vp.instance.id} | VP's instans-ID för interna anrop |
subscriber.cache.file.name | Filnamn för lokal cache av subscribers | |
subscriber.cache.timeToLiveSeconds | 7200 | Timeout innan subscriber cachen förnyas genom anrop med GLABSC tjänsten |
subscriber.cache.reset.url | http://localhost:8083/skltp-ei/resetcache | Adress för att tömma prenumerantcachen |
subscriber.cache.status.url | http://localhost:8083/skltp-ei/subscriber/status | Adress för att få status på prenumeranter |
ei.status.url | http://localhost:8083/skltp-ei/status | Adress för att få status på EI |
update-notification.not.allowed.hsaid.list | ${ei.hsa.id},${vp.hsa.id} | Otillåtna HSA-IDn för att undvika recirkulation av anrop |
Databas
Serverinställningar
...
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.
...
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.
...
EI_JDBC_DRIVER
...
Springs standardinställningar för JDBC.
...
title | log4j.xml |
---|
...
Parameter | Exempel |
---|---|
spring.datasource.url | jdbc:mysql://ei-db:3306/ei?serverTimezone=Europe/Stockholm |
spring.datasource.username | ei |
spring.datasource.password | secret |
spring.datasource.driver-class-name | com.mysql.jdbc.Driver |
EI_JDBC_URL
EI_JDBC_USR
EI_JDBC_PWD
EI_JDBC_CON_POOL_INIT_SIZE
EI_JDBC_CON_POOL_MAX_ACTIVE
EI_JDBC_CON_POOL_MAX_IDLE
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 |
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:
spring.datasource.jpa.database-platform | org.hibernate.dialect.MySQL5InnoDBDialect |
spring.datasource.jpa.hibernate.ddl-auto | update |
Köhantering Active MQ
Parameter | Värde | Kommentar |
---|---|---|
collect.queue.name | skltp.ei.collect | Namn på collect kön i AMQ |
collect.queue.completion.size | 1000 | Antal anrop i kön innan den collectas och skickas till process kön | |
collect.queue.completion.timeout | 5 | Max sekunder meddelande kan ligga i collect kön innan de skickas till processkön |
update.collect.threshold | 1 | Tröskelvärde för antal engagemang i ett anrop för att de ska hamna direkt i Processkön |
process.queue.name | skltp.ei.process | Namn på processkön i AMQ |
notification.queue.prefix | EI.NOTIFICATION. | Prefix för namn på notification-köer i AMQ. Kö-namnet bildas av prefixet och prenumerantens logiska adress. Konfigurerbar sedan v3.2.1, default är tidigare hårdkodat värde. |
activemq.broker.url | vm://localhost?broker.persistent=false | URL till AMQ broker |
activemq.broker.user | admin | Användarnamn för ActiveMQ-användare |
activemq.broker.password | secret | Lösenord för ActiveMQ-användare |
activemq.broker.maximum-redeliveries | 2 | Antal leveransförsök som görs innan meddelanden hamnar i dead letter-kön. Standardinställningen är 2 |
activemq.broker.redelivery-delay | 5000 | Tid mellan leveransförsök i millisekunder. Standardinställningen är 5000 ms |
activemq.broker.use-exponential-backoff (1) | false | Sätt till true om exponential backoff ska användas, annars false. |
activemq.broker.backoff-multiplier (1) | 3 | Om exponential backoff ovan är satt till true, kommer varje omsändningsförsök n att fördröjas med föregående delay * multiplier. Det första omsändningsförsöket sker efter 5 sekunder i exemplet. Exempel: försök 1: 5 sek försök 2: 5* 3 = 15 sek försök 3: 15* 3 = 45 sek försök 4: 45 * 3 = 135 sek försök 5: 135 * 3 = 405 sek |
activemq.broker.maximum-redelivery-delay (1) | 600000 | Maximal tid mellan leveransförsök i millisekunder, om exponential backoff används. Standardinställningen är 600000 ms (10 minuter). |
activemq.broker.notification.maximum-redeliveries (1) | ${activemq.broker.maximum-redeliveries} | Frivillig parameter med möjlighet att sätta activemq.broker.maximum-redeliveries endast för notification-köer. |
activemq.broker.notification.redelivery-delay (1) | ${activemq.broker.redelivery-delay} | Frivillig parameter med möjlighet att sätta activemq.broker.redelivery-delay endast för notification-köer. |
activemq.broker.notification.use-exponential-backoff (1) | ${activemq.broker.use-exponential-backoff} | Frivillig parameter med möjlighet att sätta activemq.broker.use-exponential-backoff endast för notification-köer. |
activemq.broker.notification.backoff-multiplier (1) | ${activemq.broker.backoff-multiplier} | Frivillig parameter med möjlighet att sätta activemq.broker.backoff-multiplier endast för notification-köer. |
activemq.broker.notification.maximum-redelivery-delay (1) | ${activemq.broker.maximum-redelivery-delay} | Frivillig parameter med möjlighet att sätta activemq.broker.maximum-redelivery-delay endast för notification-köer. |
camel.component.activemq.broker-url | ${activemq.broker.url} | Adress till ActiveMQ |
camel.component.activemq.trust-all-packages | true | Standard för ActiveMQ är att inte tillåta serialisering av godtyckliga Javaobjekt. Denna inställning ändrar detta beteende. |
Not (1): Tillagd i EI version 3.2.0
Loggning
Exempel på loggfil för ei-backend
Kodblock | ||||
---|---|---|---|---|
| ||||
<Configuration status="WARN" monitorInterval="30"> <Properties> <Property name="LOG_PATTERN"> %d %-5p [%t] %-30c - %X{corr.id} %m%n </Property> <Property name="log.dir"> /var/log/ei-backend </Property> </Properties> <Appenders> <RollingRandomAccessFile name="BackendLogFile" fileName="${log.dir}/skltp-ei-backend-app.log" filePattern="${log.dir}/skltp-ei-backend-app.%i"> <PatternLayout <param namepattern="MaxFileSize" value="50MB" ${LOG_PATTERN}"/> <Policies> <!-- KB, MB --> <SizeBasedTriggeringPolicy size="50 MB"/> </Policies> <param name <DefaultRolloverStrategy fileIndex="MaxBackupIndexmin" valuemax="10"/> </RollingRandomAccessFile> </Appenders> <Loggers> <!-- Ei application--> <Logger name="se.skltp.ei" level="INFO"/> <layout<Logger classname="orgse.apacheskltp.log4j.PatternLayout"ei.subscriber" level="INFO"/> <Logger name="se.skltp.ei.service.GetLogicalAddresseesServiceClient" level="WARN"/> <param<Logger name="ConversionPatternse.skltp.ei.EiApplication" valuelevel="%d %-5p %-30C - %m%n" "INFO"/> <!-- Ei application routes--> <Logger name="eiBackendLog" level="debug"/> </layout> <!--Apache camel--> </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)
Kodblock | ||
---|---|---|
| ||
<Logger name="org.apache.camel" level="INFO"/> <Logger name="org.apache.camel.impl.engine.InternalRouteStartupManager" level="INFO"/> <!--Jetty--> <Logger name="org.eclipse.jetty" level="WARN"/> <!-- Message logging using soi-toolkit LogTransformer class -ActiveMQ--> <logger<Logger name="org.soitoolkit.commons.mule.messageLogger"> apache.activemq" level="WARN"/> <!-- Hibernate --> <level<Logger valuename="INFOorg.hibernate.SQL" level="WARN"/> </logger> |
Slå på loggning till meddelandekö för WARN (ger endast WARN)
Kodblock | ||
---|---|---|
| ||
<!-- Message logging using soi-toolkit LogTransformer class Cxf --> <logger<Logger name="org.soitoolkit.commons.mule.messageLogger"> apache.cxf" level="WARN"/> <Root level="WARN"> <level<AppenderRef valueref="WARNBackendLogFile"/> </>Root> </Loggers> </logger> |
...
Configuration> |