hola,
Tengo un problema con un JSP, el caso es que me funciona bien si sólo lo ejecuto una vez al mismo tiempo. Lo que hace este JSP es contruir un archivo excel y bajarlo.
El problema viene cuando ejecuto este mismo JSP desde 2 navegadores (internet explorer) al mismo tiempo. Esto lo he probado desde un mismo pc abriendome 2 navegadores internet explorer y ejecunté a la vez en cada navegador el JSP.
El resultado es que uno se para cuando empieza el otro o algo así. No se si comparte el ancho de banda o algo sí. Los ficheros se bajan pero incompletos. Nunca se acaban de bajar completos a menos que lo ejecute uno al mismo tiempo.
Una cosa que me ha dado cuenta es que cuando ejecuto este JSP desde 2 navegadores a la vez, una vez que los ficheros han bajado (incompletos) el jsp se sigue ejecutando, esto lo he visto en los logs.
Alguien puede ayudarme?
Os paso el código del JSP por si alguien lo puede ejecutar de forma paralela desde 2 navegadores desde un mismo pc.
------------------------------------------JSP
---------------------------------------------------------------------------*--------
<%@page contentType="application/vnd.ms-excel"%>
<%@ page language="java" import="java.io.*"%>
<%@ page language="java" import="java.util.*"%>
<%
Date fecha = new Date();
java.sql.Date fechaSQL = new java.sql.Date(fecha.getTime());
Calendar calendario = Calendar.getInstance();
calendario.setTime(fecha); // fecha es el Date de antes.
String strHour = String.valueOf( calendario.get(Calendar.HOUR) );
String strMinute = String.valueOf( calendario.get(Calendar.MINUTE) );
String strSecond = String.valueOf( calendario.get(Calendar.SECOND) );
String nombre = "FILE" + strHour + strMinute + strSecond + ".xls";
System.out.println( " IN OF " + nombre );
response.setContentType( "application/x-download" );
response.setHeader("Content-type","application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment; filename=\""
+ nombre + "\"");
System.out.println( nombre + " START" );
for (int l=0;l<30000;l++){
System.out.println( nombre + " " + l );
for (int k=0;k<250;k++){
out.write(nombre + " : ("+ l + "," + k + ")" + "\t" );
}
out.write("\n");
}
System.out.println( nombre + " END" );
%>