Cancelar proceso despues de cierto tiempo

MARCELA
27 de Mayo del 2009
Soy nueva en Java y necesito su ayuda:

Tengo un servlet que se conecta a una base de datos y genera cierta informacion para la elaboración de un reporte, esto lo hace dentro de un try en java.
Necesito que despues de 3 minutos, si el reporte no se ha generado, cancele o cierre la conexión a la base de datos.

El problema es que el programa se queda generando el reporte y no sale del TRY . No sé que sentencia utilizar para controlar el tiempo.


El siguiente es el código:

try { //Conexión a la base de datos
conn = getConnection(request);
//Aqui va el codigo para la elaboración de reporte

} catch(Throwable e) {

if(conn != null) {
try { conn.close(); } catch (SQLException sqle) {}
conn = null;
}
}
finally{
try{
if(conn != null){
conn.close();
conn = null;
}

} catch (Throwable ex2) {
System.out.println("*************MENSAJE ERROR = " + ex2.getMessage());
System.out.println("*************CAUSA ERROR = " + ex2.getMessage());
} // fin catch

} // fin finnaly