Innehållsförteckning |
---|
EI Camel
Denna sida beskriver EI Mule. Konfigurationsfilerna för EI Camel är beskrivna i källkoden.
För att överlagra defaultinställningar behöver en fil med namnet ei-config-override.properties finnas på classpath.
Generellt
...
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 |
spring.jmx.enabled | true | Slå på JMX för Spring, så att det går att konfigurera t.ex. köer i Hawtio |
hawtio.authentication.enabled | true | Sätt till 'false' för att stänga av autentisering i Hawtio |
hawtio.external.loginfile | /etc/ei-backend/users.properties | Sökväg till fil med Hawtio-användare och lösenord. Användare behöver tillhöra rollen 'user' för att kunna logga in. Formatet beskrivs på: https://wiki.eclipse.org/Jetty/Tutorial/Realms#HashLoginService |
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 |
GetLogicalAddresseesByServiceContract
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/ |
${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.
LOCAL_EI_SUBSCRIBER_CACHE
/tmp/ei.localCache3
Alternativ logisk adress för EI. Se
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
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
...
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 |
...
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. Springs standardinställningar för JDBC.
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:
...
title | log4j.xml |
---|
...
Parameter | Defaultvärde | För MYSQL | Kommentar | EI_JDBC_DRIVER | org.hsqldb.jdbcDriver | com.mysql.jdbc.Driver | EI_JDBC_URL | jdbc:hsqldb:mem:. | jdbc:Exempel | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
spring.datasource.url | jdbc:mysql://localhostei-db: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
...
?serverTimezone=Europe/Stockholm | |
spring.datasource.username | ei |
spring.datasource.password | secret |
spring.datasource.driver-class-name | com.mysql.jdbc.Driver |
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 |
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 0 |
activemq.broker.redelivery-delay | 5000 | Tid mellan leveransförsök i millisekunder. Standardinställningen är 0 ms |
camel.component.activemq.broker-ur | ${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. |
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"> <param/var/log/ei-backend </Property> </Properties> <Appenders> <RollingRandomAccessFile name="fileBackendLogFile" value fileName="${mulelog.homedir}/logs/mule-app-skltp-ei-application-mulebackend-frontend-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"/> <!-- <level value="INFO" Hibernate --> <Logger name="org.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 value <AppenderRef ref="WARNBackendLogFile"/> </>Root> </Loggers> </logger>Configuration> |