Я сталкиваюсь с очень необычной проблемой в соединении ActiveMQ и Stomp. Я включил его в свой веб-сайт, и он отлично работает, когда на сайте или даже на компьютере происходит какая-либо активность (даже если браузер, в котором открыт сайт, свернут). Всякий раз, когда компьютер переходит в режим ожидания более 10 минут, соединение между ActiveMQ и STOMP закрывается, а затем после этого, даже если пользователь снова развернет браузер, не будет никаких сообщений и обновлений.
Версии, которые я использую
activemq: 5.9.0
СТОМ: 1.0.9
Я использую следующие настройки конфигурации
transportConnector name = «wss» uri = «wss: //0.0.0.0: 61614? MaximumConnections = 1000&wireFormat.maxFrameSize = 104857600&wireFormat.maxInactivityDuration = 500000000&wireFormat.maxInactivityDurationInitalDelay = 36000000&websocket.maxIdleTime = 0&transport.useInactivityMonitor = ложь»
Что я не так делаю? Я перепробовал каждую возможную комбинацию вышеуказанных параметров, но результат такой же, с небольшим изменением приращения длительности в простое, после которого соединение было бы потеряно.
Все, что я хочу, независимо от того, использует ли пользователь браузер / компьютер или нет, соединение должно оставаться активным.
Заранее благодарю за предоставленную помощь.
Обновление 1:
Вот ошибка, которую я получаю в файле журнала
ошибка: org.apache.activemq.transport.InactivityIOException: канал неактивен слишком долго
ActiveMQConnectionFactory имеет свойство с именем
idleTimeout
которые имеют значение по умолчанию 30 сек. Если соединение не имеет активности в течение 30 секунд, оно будет закрыто монитором неактивности, но если вы хотите увеличить этот предел, вам следует установить IdleTimeout на 15 минут. в вашей JMS ConnectionFactory, используя метод
factory.setIdleTimeout (15 * 60 * 1000)
Других решений пока нет …