Base de conhecimento

Falha ao iniciar ActiveMQ | Kahadb corrompido - Como resolver?

2 minutos de leitura
Copiar

Problema

A falha ao iniciar o ActiveMQ geralmente ocorre quando algum arquivo da pasta kahadb corrompe, e isso deve-se, na maioria das vezes, a algum desligamento abrupto do servidor.

 

 

Solução/Procedimento

Para resolvermos esse problema há duas possíveis soluções:

Primeira solução:

Para resolver, devemos inicialmente adicionar o parâmetro ignoreMissingJournalfiles=”true”, no arquivo activemq.xml na pasta “conf” do Activemq.

Basta adicionar o parâmetro na tag  “kahaDB” , conforme exemplo abaixo:

C:\Oobj\Aplicativos\JMS-Server\ActiveMQ\conf\activemq.xml

<span style="color: #e8bf6a;"><mKahaDB </span><span style="color: #bababa;">directory=</span><span style="color: #6a8759;">"${activemq.data}/kahadb"</span><span style="color: #e8bf6a;">><br /></span><span style="color: #e8bf6a;"><filteredPersistenceAdapters><br /></span>   <span style="color: #808080;"><!-- kahaDB per destinations --><br /></span>   <span style="color: #e8bf6a;"><filteredKahaDB </span><span style="color: #bababa;">perDestination=</span><span style="color: #6a8759;">"true"</span><span style="color: #e8bf6a;">><br /></span><span style="color: #e8bf6a;">      <persistenceAdapter><br /></span><span style="color: #e8bf6a;">         <kahaDB<br /></span>               <span style="color: #bababa;">journalMaxFileLength=</span><span style="color: #6a8759;">"4mb"<br /></span>               <span style="color: #bababa;">cleanupInterval=</span><span style="color: #6a8759;">"150000"<br /></span>               <span style="color: #bababa;">checkForCorruptJournalFiles=</span><span style="color: #6a8759;">"true"<br /></span>               <span style="color: #ffffff; background-color: #ff0000;">ignoreMissingJournalfiles=</span><span style="color: #6a8759;"><span style="background-color: #ff0000; color: #ffffff;">"true"</span><br /></span>               <span style="color: #bababa;">indexCacheSize=</span><span style="color: #6a8759;">"40000"</span><span style="color: #e8bf6a;">/><br /></span><span style="color: #e8bf6a;">      </persistenceAdapter><br /></span><span style="color: #e8bf6a;">   </filteredKahaDB><br /></span><span style="color: #e8bf6a;"></filteredPersistenceAdapters><br /></span><span style="color: #e8bf6a;"></mKahaDB></span>

 

Em seguida após adicionar o parâmetro, basta reiniciar o ActiveMQ e acompanhe os logs.

 

Segunda solução: 

Caso o problema persista, analise os logs do Amq (C:\Oobj\Aplicativos\JMS-Server\ActiveMQ\data) e caso identificado algum registro relacionado a arquivo corrompido, apague os arquivos .redo da pasta C:\Oobj\Aplicativos\JMS-Server\ActiveMQ\data\kahadb

Para buscar esses arquivos, basta procurar por *.redo na pasta kahadb:

 

Após deletar os arquivos, reinicie o Amq e acompanhe os logs.

Observação

É recomendado que todos os serviços Oobj que utilizam o amq estejam parados durante este processo, importante analisar todos os serviços que estejam distribuídos em outros servidores (Motor de Impressão, Recepção, etc…) .

 

Referência

Sem referências.

Não encontrou o que procurava?