Tu peux implémenter une classe qui implémente l'interface javax.servlet.http.HttpSessionBindingListener.
J'imagine que quand un utilisateur se log, tu dois mettre un objet 'profile' en session.
Si ce 'profile' implémente HttpSessionBindingListener, il dispose de deux fonctions : bound et unbound
bound sera executé quand 'profile' sera mis en session. Tu ajouteras cet utilisateur dans ton ArrayList.
unbound sera executé quand 'profile' sera retiré de la session, ou que la session sera expirée ou invalidée. Tu retireras cet utilisateur de ton ArrayList.