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 Vidispine;

If you're using ActiveMQ embedded in Vidispine 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


External ActiveMQ;

If it is an external AMQ, thenĀ you could check the link below on how to increase the size limit;

http://activemq.apache.org/xml-configuration.html


In the link below it says how you can get statistics from alla ActiveMQ queues;
http://transfer.vidispine.com/12e/ac19ba7f4b4e676a09f2e7c97c261/list-queues.groovy