Я хотел бы услышать некоторые комментарии о том, как управлять долгоживущими подключениями XMPP в контейнере сервлета, т.е. Tomcat.
По сути, у нас есть клиент, который передает учетные данные для входа в сервлет, и мы создаем XMPPConnection для каждого сеанса и сохраняем его в HttpSession.
Для упрощения клиент может выполнить 4 операции: войти, отправить / получить сообщения, выйти из системы.
(1) Как видите, время жизни XMPPConnection должно обрабатываться (контролироваться)
клиент. В нашем случае с HttpSession связан тайм-аут. Ты думаешь
опора на HttpSession является ошибкой?
(2) С точки зрения сбора мусора, это проблема, если HttpSession истек
и мы специально не вызываем XMPPConnection.disconnect ()? Насколько я понимаю, по истечении времени ожидания все объекты в области действия сеанса обрабатываются GC. Будет ли виртуальная машина отказываться и игнорировать XMPPConnection, если она все еще подключена?
(3) В чем разница между тайм-аутом HttpSession и аннулированием? Насколько я понимаю, тайм-аут относится к конкретному объекту, а недействительность
удаляет все.