Estou tentando implementar um novo aplicativo usando o JMS no activeMQ 5.8.0. Existem vários aplicativos configurados como Produtores (isto é, para descarregar mensagens em um MQ), dois tópicos e, em seguida, os Consumidores são configurados para examinar seu VirtualTopic que é criado dinamicamente no início do servidor Tomcat.
O fluxo de exemplo seria:
Producer1 (Tomcat) --JMS--> ActiveMQ.VirtualTopic
Consumer.VirtualTopic1 --JMS--> Consumer1 (Tomcat)
Consumer.VirtualTopic2 --JMS--> Consumer2 (Tomcat)
Queríamos a flexibilidade de poder inicializar qualquer número de consumidores e enviar dinamicamente o ActiveMQ para eles. Isso está funcionando. No entanto, quando um servidor Consumidor é encerrado (como resultado de não ser mais necessário, falha do servidor, interrupção de rede, etc.), eu quero que o AMQ pare de colocar mensagens em seu VirtualTopic quando o controle de fluxo está sendo ativado e não está mais consumindo mensagens do Produtor.
Eu tenho meu activemq.xml configurado com:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" schedulePeriodForDestinationPurge="10000">
<policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000" />
Espero, portanto, que um servidor seja marcado como inativo dentro de 40 segundos de um nó do Tomcat sendo interrompido (e o número de consumidores sendo marcado como zero), mas isso não está acontecendo. Eu perdi alguma coisa?
Obrigado!