Falha ao iniciar ActiveMQ | Kahadb corrompido - Como resolver?

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

<mKahaDB directory="${activemq.data}/kahadb">
<filteredPersistenceAdapters>
<!-- kahaDB per destinations -->
<filteredKahaDB perDestination="true">
<persistenceAdapter>
<kahaDB
journalMaxFileLength="4mb"
cleanupInterval="150000"
checkForCorruptJournalFiles="true"
ignoreMissingJournalfiles="true"
indexCacheSize="40000"/>
</persistenceAdapter>
</filteredKahaDB>
</filteredPersistenceAdapters>
</mKahaDB>

 

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.

5 (1)
Avaliação do Artigo (1 Votos)
Avaliar esse artigo
Anexos
Não há anexos para este artigo.
Artigos Relacionados RSS Feed
Comentários
Nome
Email
Código de Segurança Security Code
Não há comentários para este artigo. Seja o primeiro a postar um comentário.