Foros del Web » Programación para mayores de 30 ;) » Java »

Seguimiento Sessiones

Estas en el tema de Seguimiento Sessiones en el foro de Java en Foros del Web. Tengo un problema muy particular con estas sessiones en JSP. ya que 1. deseo eliminar (de la BaseDatos) un usuario que no este conectado en ...
  #1 (permalink)  
Antiguo 04/08/2006, 10:07
 
Fecha de Ingreso: marzo-2006
Mensajes: 3
Antigüedad: 18 años, 8 meses
Puntos: 0
Seguimiento Sessiones

Tengo un problema muy particular con estas sessiones en JSP. ya que
  • 1. deseo eliminar (de la BaseDatos) un usuario que no este conectado en ese momento y
  • 2. tambien para los que estan conectados, al eliminarlo le pueda borrar la variable de session que tienen activa de manera que el ya no pueda seguir usando esa session.

para el 1er caso. el problema es saber cuales estan o no conectados. me habia inventado un metodo para eso, como ejemplo crear un campo boolean en la BD llamado sessionIniciada. que por defecto estaba en false. cuando creaba la variable de session le colocaba true. y cuando clickeaba en solo el boton cerrar session le daba false. pero no funciona del todo bien por que si cierro session de otra manera (apagando el PC, cerrando el navegador, etc) la sessionIniciada queda indefinidamente en true y no lo podre eliminar.

para el 2do caso no se me ocurre nada, solo obviarlo. si quieren ayudenme con el 1er caso .

eh estado buscan esto por mucho sitio pero no he encontrado algo que me sirva, por fa espero tu colaboracion.
  #2 (permalink)  
Antiguo 08/08/2006, 12:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 7
Antigüedad: 19 años, 6 meses
Puntos: 0
para tu primer caso se me ocurre que uses un pool de conexiones, y al momento de iniciar sesion fijes tu bandera tal cual la tienes, lo que hace el pool es que a cierto tiempo de "inactividad" termina la sesion, asi no tendiras broncas por lo que termina la sesion a la brava ( apagado de maquina, cerrar el navegador y demas cosas).

Solo restaria hacer un barrido al pool, yo no lo he hecho, pero si se puede hacer de manera externa, esto es crear una tabal temporal en que se esten grabadno los usuarios activos en el pool, y despues de terminar la sesion volver a ver que usuarios quedan dentro de la tabal del pool, para de esta forma eliminar de la tabla que tu ya tienes al usuario q no este conectado.

Espero q te sirva mi idea.... dejame ver si te puedo poner algo del codigo de mi trabajo jijijiji
  #3 (permalink)  
Antiguo 08/08/2006, 13:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Lo que podrías hacer tambien es guardar en el ServletContext los usuarios que estan dentro con una referencia a su sesion, y controlar que al caducar las sesiones se actualice la lista del contexto. Así puede saber si alguien esta online o no.
Para cerrarles la sesion si estan online, obtienes la sesion de la lista que tienes en el contexto y se la cierras. Despues lo eliminas normalmente y listo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.