A year ago I encountered ugly problem with accessing a session scoped bean from HttpSessionListener when that session listener was called because of session timeout. A few days ago someone posted his solution to similar thread. Although it's a hack, it's really clean and nice one.