...
Instruktion för installation av ActiveMQ och rekommendationer finns att läsa på soi-toolkits installationsguide för ActiveMQ.
ActiveMQ konfigureras i <ActiveMQ_HOME>/conf/activemq.xml. på soi-toolkits installationsguide för ActiveMQ finns det rekommendationer och exempel på hur ActiveMQ kan konfigureras.
För SKLTP finns det en rekommenderad activemq.xml som kan laddas ner här.
Inställningar för minne/disk
Diskutrymme
För att undvika problem med att ActiveMQ försöker allokera mer disk än vad som finns tillgängligt och undvika följande fel i loggen:
2013-05-06 20:17:44,724 | WARN | Store limit is 100000 mb, whilst the data directory: /home/mule/tp/apache-activemq-5.6.0/data/kahadb only has 82380 mb of usable space | org.apache.activemq.broker.BrokerService | main
beakta hur mycket disk som finns tillgängligt kontra följande parametrar i activemq.xml
...
Konfiguration
Minne
Java heapsize konfigureras i ACTIVEMQ_HOME/bin/<operativsystem>/wrapper.conf med:
Inget format wrapper.java.initmeory wrapper.java.maxmemory
Rekommendation är att sätta dem till samma värde, på så sätt säkras redan vid uppstart att det faktiskt går att allokera minne för max-värdet (annars är det möjligt att få OutOfMemoryError innan max-värdet uppnås).
Broker minnesutnyttjande konfigureras i ACTIVEMQ_HOME/conf/activemq.xml. Se https://code.google.com/p/soi-toolkit/wiki/IG_RT_ActiveMQ#Configure_broker_resource_usage
Inget format <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="64 mb"/> </memoryUsage>
Note: för ActiveMQ 5.9 kan följande användas: <memoryUsage percentOfJvmHeap="70" />
Köminne (viktigt vid flow control) konfigureras med memoryLimit. Se exempel activemq.xml och https://code.google.com/p/soi-toolkit/wiki/IG_RT_ActiveMQ#Configure_broker_resource_usage
Inget format <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">
Dead-letter queue (DLQ) policy
Konfigureras med <deadLetterStrategy>. Se https://code.google.com/p/soi-toolkit/wiki/IG_RT_ActiveMQ#Setup_retry_and_DLQ-handling_policies
Disk
Konfigurera var meddelanden lagras genom att sätta sökväg i ACTIVEMQ_HOME/bin/<operativsystem>/wrapper.conf:
Inget format set.default.ACTIVEMQ_DATA=%ACTIVEMQ_BASE%/data
Rekommendation:
- Använd inte system/root-partitionen till datalagring (inte bra om systemdisken blir full).
- I datacenter/virtualiserade miljöer: använd SAN/nätverksdisk.
Konfigurera hur mycket disk ActiveMQ ska använda med storeUsage:
Inget format <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="64 mb"/> </memoryUsage> <storeUsage> <storeUsage limit="100 gb"/>
...
</storeUsage>
...
<tempUsage> <tempUsage limit="50 gb"/>
...
</tempUsage> </systemUsage> </systemUsage>
Not: storeUsage är för persistenta meddelanden, tempUsage är för icke-persistenta meddelanden.
Observera Vid uppstart kontrollerar ActiveMQ att det finns tillräckligt med disk - eller sänker den faktiska gränsan för vad som kommer att användas till vad som finns tillgängligt, då loggas en varning i stil med:
2013-05-06 20:17:44,724 | WARN | Store limit is 100000 mb, whilst the data directory: /home/mule/tp/apache-activemq-5.6.0/data/kahadb only has 82380 mb of usable space | org.apache.activemq.broker.BrokerService | main
Synkron skrivning till disk av meddelanden
JMX
Konfigurera JMX-åtkomst genom att:
...