La Web del Programador: Comunidad de Programadores
 
    Pregunta:  35418 - TRANSACCIONES EN JAVA
Autor:  Manuel Rondón García
Estoy realizando una web site mediante páginas JSP. Pero me encuentro con el siguiente problema:

Estoy en un formulario preparado para hacer una consulta. Pulso el botón Aceptar (submit). Antes de pasar a la página JSP que contiene las sentencias JAVA para acceder a la base de datos, pasa por un página intemedia, que contiene un mensaje "La consulta se está ejecutando" con un botón que pone "cancelar". Si se pulsa este botón, pasa a la página anterior: Al formulario anteriormente citado que hace la consulta.

Pero ocurre una cosa extraña. Cuando hace la consulta, y la cancelo, parece que la transacción JAVA no la termina.

Cuando realizo una consulta con fecha hasta el día de hoy, por ejemplo, la consulta me la hace rápida. Pero en cuanto hago una consulta para un día muy posterior, la consulta me la hace muy lentamente. Cuando cancelo esta consulta, y vuelvo a hacer la consulta con una fecha diferente (hasta el día de hoy, que es más rápido), también me la hace muy lentamente. Incluso tarda tanto que no creo que ni la haga. ¿Hay alguna forma de averiguar qué pasa? (Alguna forma de monitorizarlo). O... ¿Hay alguna forma de cancelar la transacción?

  Respuesta:  Rafael Hernamperez Martin
Hola, Manuel,

Lo que te ocurre es ciertamente muy raro. Asi sin depurar delante y sin ver el codigo, resulta un tanto dificil detectar el error.

No obstante, te puedo aconsejar B.N.T. o Buenas Normas de Trabajo.

En primer lugar, muchos de los errores de este tipo se producen por no organizar debidamente los procesos de trabajo. Esto es, como he visto en mucho codigo spaguetti, mezclar JSP con codigo Java para acceder a datos.

Te aconsejo que utilices JSP solamente para presentar HTML, y solo un poco de codigo Java para recuperar los datos y presentarlos.

Una B.N.T. estupenda es utilizar un M.V.C (o Modelo Vista Controlador). Con este sistema se separa perfectamente la Vista (o presentacion), del Modelo (Datos y su gestión). Por medio habría un Controlador que canalice las peticiones y enlace la Vista con el Modelo. Este sistema es muy utilizado con Struts, que es uno de los proyectos de Jakarta (Apache).

Gracias a este sistema, si tienes algun problema con el Modelo, sabras rapidamente que hay alguna clase Java encargada de ello. Por tanto irias directamente alla. Lo mismo ocurre con la Vista. No hay que tocar todo el codigo spaguetti para intentar encontrar errores.

Espero que con estos consejos, aplicandolos, te sirvan para evitar sorpresas desagradables.

Un saludo,

Rafael Hernamperez Martin

  Respuesta:  Rafael Hernamperez Martin
Hola, Manuel,

Lo que te ocurre es ciertamente muy raro. Asi sin depurar delante y sin ver el codigo, resulta un tanto dificil detectar el error.

No obstante, te puedo aconsejar B.N.T. o Buenas Normas de Trabajo.

En primer lugar, muchos de los errores de este tipo se producen por no organizar debidamente los procesos de trabajo. Esto es, como he visto en mucho codigo spaguetti, mezclar JSP con codigo Java para acceder a datos.

Te aconsejo que utilices JSP solamente para presentar HTML, y solo un poco de codigo Java para recuperar los datos y presentarlos.

Una B.N.T. estupenda es utilizar un M.V.C (o Modelo Vista Controlador). Con este sistema se separa perfectamente la Vista (o presentacion), del Modelo (Datos y su gestión). Por medio habría un Controlador que canalice las peticiones y enlace la Vista con el Modelo. Este sistema es muy utilizado con Struts, que es uno de los proyectos de Jakarta (Apache).

Gracias a este sistema, si tienes algun problema con el Modelo, sabras rapidamente que hay alguna clase Java encargada de ello. Por tanto irias directamente alla. Lo mismo ocurre con la Vista. No hay que tocar todo el codigo spaguetti para intentar encontrar errores.

Espero que con estos consejos, aplicandolos, te sirvan para evitar sorpresas desagradables.

Un saludo,

Rafael Hernamperez Martin

  Respuesta:  Rafael Hernamperez Martin
Hola, Manuel,

Lo que te ocurre es ciertamente muy raro. Asi sin depurar delante y sin ver el codigo, resulta un tanto dificil detectar el error.

No obstante, te puedo aconsejar B.N.T. o Buenas Normas de Trabajo.

En primer lugar, muchos de los errores de este tipo se producen por no organizar debidamente los procesos de trabajo. Esto es, como he visto en mucho codigo spaguetti, mezclar JSP con codigo Java para acceder a datos.

Te aconsejo que utilices JSP solamente para presentar HTML, y solo un poco de codigo Java para recuperar los datos y presentarlos.

Una B.N.T. estupenda es utilizar un M.V.C (o Modelo Vista Controlador). Con este sistema se separa perfectamente la Vista (o presentacion), del Modelo (Datos y su gestión). Por medio habría un Controlador que canalice las peticiones y enlace la Vista con el Modelo. Este sistema es muy utilizado con Struts, que es uno de los proyectos de Jakarta (Apache).

Gracias a este sistema, si tienes algun problema con el Modelo, sabras rapidamente que hay alguna clase Java encargada de ello. Por tanto irias directamente alla. Lo mismo ocurre con la Vista. No hay que tocar todo el codigo spaguetti para intentar encontrar errores.

Espero que con estos consejos, aplicandolos, te sirvan para evitar sorpresas desagradables.

Un saludo,

Rafael Hernamperez Martin