Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tempo de vida da mensagem

Se um tópico consumidor já possuir uma assinatura cadastrada e estiver offline, a mensagem ficaria no Active MQ até que esse tópico fique online novamente, certo? Existe alguma configuração que possa determinar um tempo de vida dessa mensagem até que o tópico consumidor à receba? Por exemplo, se o tópico não ficar online para consumir a mensagem em 1 dia ele não poderá consumir mais essa mensagem. Se sim, seria no Active MQ ou teria que ser feita pelo código?

1 resposta
solução!

Tem as duas possibilidade, uma mensagem pode ser enviada à fila com um tempo de expiração setado diretamente nela:

mensagem.setExpiration(System.currentTimeMillis() + 86400);

ou para todas mensagen de um determinado produtor:

produtor.setTimeToLive(86400);

ou também pode-se configurar uma fila/tópico para que as mensagens neles expirem depois de um determinado tempo:

<address-setting match="minhaFila">
   <expiry-address>filaExpirados</expiry-address>
   <expiry-delay>86400</expiry-delay>
</address-setting>