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

obtener un objeto ResultSet enviado por una variable de sesión

Estas en el tema de obtener un objeto ResultSet enviado por una variable de sesión en el foro de Java en Foros del Web. Saludos. Estoy utilizando Visual Java Server Faces para desarrollar una aplicación y en cierto momento necesito enviar un objeto tipo ResultSet mediante una variable de ...
  #1 (permalink)  
Antiguo 30/04/2009, 15:26
 
Fecha de Ingreso: septiembre-2007
Mensajes: 122
Antigüedad: 16 años, 7 meses
Puntos: 1
obtener un objeto ResultSet enviado por una variable de sesión

Saludos.

Estoy utilizando Visual Java Server Faces para desarrollar una aplicación y en cierto momento necesito enviar un objeto tipo ResultSet mediante una variable de sesión, y lo hago de la siguiente manera:

FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
session.setAttribute("resultSet", resultSet);

El problema viene cuando quiero obtener esa variable resultSet enviada por la sesión, ya que la sesión devuelve un Object. Estoy intentando lo siguiente pero no me funciona:

FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession)context.getExternalContext().getSessi on(true);
ResultSet rs = (ResultSet) session.getAttribute("resultSet");

Al parecer no hace bien el casting y no se obtiene el resultSet como debería.

Alguien sabe como obtener el resultSet que envío a través de la sesión?

De antemano gracias.
  #2 (permalink)  
Antiguo 30/04/2009, 16:05
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: obtener un objeto ResultSet enviado por una variable de sesión

No metas el ResultSet en la sesión. No es buena idea.

El ResultSet es un objeto conectado a la base de datos (es decir, mantiene en su interior la conexión abierta con la BBDD). Meterlo en la sesión por un lado es un consumo de recursos innecesario (teniendo que mantener esa conexión ocupada) y por otro una fuente de problemas en cuanto la BBDD se canse de que le tengas ocupadas conexiones tanto rato (y entonces la conexión caducará, y el ResultSet te dará problemas).


Si puedes, utiliza CachedRowSet o bien saca los datos que vayas a necesitas del ResultSet y guarda directamente esos datos en la sesión. O mejor aún, evita completamente meter resultados de querys en la sesión.
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 05:36.