Потребитель activemq работает с запущенным приложением, через несколько часов go администратор activemq показывает, что потребитель потерян, но приложение-потребитель не показывает никаких исключений, и сообщение журнала печатается хорошо ...
перезапустите приложение и потребитель снова работает.
вот мой код
@PostConstruct
private void init() throws JMSException {
Connection connection = activeMQConnectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("test.queue");
consumer = session.createConsumer(queue);
new Thread(() -> {
while (true) {
try {
Message receive = consumer.receiveNoWait();
if (receive == null) {
logger.info(">>> pull no message, sleep 5s");
TimeUnit.SECONDS.sleep(5);
continue;
}
logger.info(">>> received message {}", JSON.toJSONString(receive));
// DO SOMETHING
} catch (Exception e) {
logger.error("", e);
}
}
}, "consumerThread").start();
}
ниже это конфигурация приложения
failover:(tcp://ip1:3046,tcp://ip2:3046,tcp://ip3:3046)
с нетерпением жду, когда вы сможете решить проблему. большое спасибо ;