Чтобы отслеживать историю действий пользователя в веб-приложении, я пытаюсь сохранить некоторые данные сеанса в базе данных, когда сеанс признан недействительным. Мой первоначальный подход состоял в том, чтобы сохранить данные в javabean с областью действия сеанса и заставить его выгружать свои данные в базу данных с помощью метода finalize.
Я подумал, что это не было бы идеальным решением из-за непредсказуемого поведения финализатора, но это должно сработать и в конечном итоге сохранить данные. Однако оказалось, что эта тактика не позволяет надежно достичь желаемых результатов - данные часто не регистрируются, даже если сеанс аннулируется вручную и текущий пользователь переключается.
Какой может быть лучший способ сохранить данные сеанса данных в базу данных без постоянного обновления после каждого действия клиента? Есть ли способ вызвать определенный метод при аннулировании сеанса?