Desconozco si es posible hacer lo que planteas en una aplicación de una capa, lo que si te aseguro es que en la arquitectura clásica de tres capas, es posible interceptar una consulta que por algún motivo ha resultado más extensa (o demorada) de lo esperado. Al respecto te comento, que este proceso es posible hacerlo con un manejo de excepciones, sin embargo en muchas ocasiones, esto no es lo más óptimo, por lo cual se puede llegar a procurar otros mecanismos, como por ejemplo a través de la segmentación de la consulta.
De cualquier manera, por tu mensaje, deduzco que nada de esto aplica, así que paso a sugerirte una solución más práctica para tu aplicación unicapa, la cual quizás se desvíe de tu interés inicial, pero que bien pudiera funcionarte.
Simplemente efectúa un COUNT a la consulta, antes de ejecutar la consulta real y en base a tus propios parámetros y estimaciones determina cuando es necesario alertar acerca de una consulta demasiado extensa y cuando puedes efectuarla con el rango planteado. Incluso, podrías aprovechar que tienes una sola capa para establecer dinámicamente que la consulta debe paginarse y presentarla de tal manera que no presentes nunca un error (Una solución más elegante).
Esperando que mis comentarios te hallan sido de utilidad, me despido sin más,
Atentamente,
--
David Alexander Rengifo Rodríguez
IBM ACE Professional Certificate
Consultor Externo - Venezuela
MSN: rengifo.david@...
________________________________
http://spaces.msn.com/acecertificate/
Más allá del Software Libre, apoya el Código Abierto...
Visita http://spaces.msn.com/members/javaabierto/
Estimados Listeros:
Deseo anular (interrumpir) la ejecución de una jsp si transurre
demasiado tiempo para generar un listado en HTML.
He notado que ciertas paginas jsp de mi aplicación demoran mas de un
minuto., por lo tanto me gustaría mostrar un mensaje al usuario
indicando que la consulta es demasiada extensa y por lo tanto que
reduzca los parametros de Fecha buscados., logrando con esto poner un
tiempo limite a que responda el servidor., y en los casos donde la
consulta no se termino de generar en ese tiempo., mostrar la información
hasta donde se proceso., ó la otra alternativa seria mostrar un mensaje
al usuario indicando que acote los parametros de busqueda.
Quiero lograr con esto., que un usuario., en base a los parametros
de una consulta., como así tambien., por la carga de procesamiento que
puede tener el servidor en ese momento., no sature o asfixie al
Servidor., ocupando solo al servidor un minuto o menos., en caso que no
pueda responder en ese tiempo., interrumpir la ejecución de la jsp y
mostrar algun cartel indicando el inconveniente.
Esto mismo (lo de interrumpir la ejecucion de una jsp) desearía
realizarlo para el caso en donde el usuario por diferentes causas (se
canso de esperar la consulta.,ó realizo la consulta pero no espero que
terminará y salto a otra pagina jsp., etc) desvió el hilo de ejecucion.,
y se encuentra consultando alguna otra jsp., pero el servidor sigue
procesando la jsp de la consulta de la peticion anterior., y mantiene
innecesariamente ocupado el servidor con la consulta anterior.
Es esto posible (lo de interrumpir una jsp por exceso de tiempo., o
por saltar a otra jsp) ?
Cabe señalar que utilizo Java 5.0 y el Servidor es Tomcat 5.0.28.
Muchas Gracias
Pablo