What to do when your ActiveMQ data is almost full [VC UG]
The AMQ Message Store is an embeddable transactional message storage solution.
Message commands are written to a transactional journal - which consists of rolling data logs - which means writing is extremely fast and the state of the store is easily recoverable.
Messages themselves are persisted in the data logs of the journal - with references to their location being held by a reference store (by default Kaha) for fast retrieval.
That means that the ActiveMQ is writing a lot of data, which then makes the data storage to be filled up pretty fast. Therefore you must delete som old data or increase the data storage limit, depending on how your system is setup.
Here we will show you how to manage your ActiveMQ data and when it is filling up, depending on how your system is set up.
ActiveMQ embedded in VidiCore;
If you're using ActiveMQ embedded in VidiCore you can use the following Groovy script below to purge the data;
import java.lang.management.* import javax.management.remote.JMXConnectorFactory as JmxFactory import javax.management.remote.JMXServiceURL as JmxUrl def serverUrl = 'service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi' def beanName = 'org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=IndexQueue' def server = JmxFactory.connect(new JmxUrl(serverUrl)).MBeanServerConnection def queue = new GroovyMBean(server, beanName) println "Purging IndexQueue" println "Current size: "+queue.QueueSize queue.purge(); println "Size after purge: "+queue.QueueSize
If it is an external AMQ, then you could check the link below on how to increase the size limit;
In the link below it says how you can get statistics from all ActiveMQ queues;