Cierre de sesión / Tiempo de espera de sesión con seguridad de resorte

Estoy usando spring / spring-security 3.1 y quiero tomar alguna acción cada vez que el usuario cierre la sesión (o si se agota el tiempo de la sesión). Logré realizar la acción para el cierre de sesión pero para el tiempo de espera de la sesión, no puedo hacerlo funcionar.

En web.xml solo tengo especificado el ContextLoaderListener (¿puede ser este el problema?) Y, por supuesto, el DelegatingFilterProxy.

Yo uso la configuración automática de esta manera.

    <security:http auto-config="false" use-expressions="false">
    <security:intercept-url pattern="/dialog/*"
        access="ROLE_USERS" />
    <security:intercept-url pattern="/boa/*"
        access="ROLE-USERS" />
    <security:intercept-url pattern="/*.html"
        access="ROLE-USERS" />

    <security:form-login login-page="/auth/login.html"
        default-target-url="/index.html" />
    <security:logout logout-url="/logout"
         invalidate-session="true"
        delete-cookies="JSESSIONID" success-handler-ref="logoutHandler" />
</security:http>

<bean id="logoutHandler" class="com.bla.bla.bla.LogoutHandler">
    <property name="logoutUrl" value="/auth/logout.html"/>
</bean>

Se llama al controlador de cierre de sesión cuando el usuario hace clic en cerrar sesión, lo que hará algunas llamadas a una base de datos.

¿Pero cómo manejo el tiempo de espera de sesión?

Una forma de manejarlo sería inyectar el nombre de usuario en la sesión cuando el usuario inicia sesión y luego usar un httpsessionlistener ordinario y hacer lo mismo en el tiempo de espera de la sesión.

¿Existe una manera similar con la seguridad de Spring, de modo que cuando Spring descubre que la sesión es un tiempo de espera, puedo conectarme allí, acceder a la autenticación y obtener los detalles del usuario desde allí y hacer la limpieza?

Respuestas a la pregunta(3)

Su respuesta a la pregunta