Configuração do ActiveMQ com o KahaDB

2

Estamos usando o ActiveMQ 5.6.0 com o KahaDB. Ele produziu alguns arquivos de log, o que é esperado com a nossa configuração (DLQ e outras coisas), assim:

$ ll -h /opt/activemq/data/kahadb/
total 969M
drwxr-xr-x 2 root     root     4.0K Nov  3 12:47 ./
drwxr-xr-x 3 activemq activemq 4.0K Sep 24 12:12 ../
-rw-r--r-- 1 root     root      39M Oct 16 07:57 db-202.log
-rw-r--r-- 1 root     root      38M Oct 16 07:57 db-203.log
-rw-r--r-- 1 root     root      33M Oct 17 08:12 db-238.log
...

Nenhuma outra mensagem foi processada quando nos deparamos com o limite de uso temporário de 1 GB. Ou é isso que estamos assumindo, isso está correto?

A configuração é assim:

<systemUsage>
    <systemUsage>
        <memoryUsage>
            <memoryUsage limit="512mb"/>
        </memoryUsage>
        <storeUsage>
            <storeUsage limit="3 gb"/>
        </storeUsage>
        <tempUsage>
            <tempUsage limit="1 gb"/>
        </tempUsage>
    </systemUsage>
</systemUsage>

Após limpar os arquivos de log e ficar muito abaixo dos limites, ainda não foram consumidas mensagens pelo AMQ. Somente quando purgamos manualmente uma rota, as mensagens começaram a ser entregues novamente.

Portanto, precisamos garantir que o tamanho do log do KahaDB sempre fique abaixo do uso temporário, certo? E essa entrega não foi escolhida após a correção que é um erro ou há outras medidas a serem tomadas?

    
por xeraa 03.11.2012 / 15:43

1 resposta

2

Sim, você deve procurar o limite de uso da loja.

Se você tiver mensagens não entregues nas filas, os registros não poderão ser removidos.

As soluções são:

  • aumenta o limite de uso da loja;
  • observe suas filas e limpe as mensagens delas;
  • expiração da mensagem de configuração ( link ).
por 28.03.2013 / 12:53

Tags