There have been recent cases where the the ActiveMQ component in SOI stopped working despite the settings below
in the <SOI_HOME>\tomcat\webapps\activemq-web\WEB-INF\caifwmq.xml file
<persistenceAdapter>
<!--<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="32 mb"/>-->
<kahaDB directory="C:\Program Files (x86)\CA\SOI\tomcat\webapps\activemq-web\activemq-data" journalMaxFileLength="32mb" cleanupInterval="5000" ignoreMissingJournalfiles="true"/>
</persistenceAdapter>
In the soimgr.log, you will see the following error messages...
ERROR [ActiveMQ Transport: tcp:///*.*.*.*:53839] cursors.AbstractStoreCursor.fillBatch(264) - Failed to fill batch
java.io.IOException: Could not locate data file C:\Program Files (x86)\soi\tomcat\webapps\activemq-web\activemq-data\db-9552.log
ERROR [localhost-startStop-1] broker.BrokerService.start(528) - Failed to start ActiveMQ JMS Message Broker. Reason: java.io.IOException: Detected missing/corrupt journal files. 1 messages affected.
java.io.IOException: Detected missing/corrupt journal files. 1 messages affected.
Removing the cleanupInterval="5000" resolves this problem.
The settings should look as follows
<persistenceAdapter>
<!--<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="32 mb"/>-->
<kahaDB directory="C:\Program Files (x86)\CA\SOI\tomcat\webapps\activemq-web\activemq-data" journalMaxFileLength="32mb" ignoreMissingJournalfiles="true"/>
</persistenceAdapter>