Aes,
Estou fazendo uma aplicação onde preciso inserir alguns itens dinamicamente. Estou usando XMLHttpRequest, enviando uma requisição para o servidor onde é gerado um html apartir de um Template do Velocity. E com isso eu dou um innerHTML na tabela.
Este é meu código de requisição:
function getXMLHTTP(){
var A=null;
try{
A=new ActiveXObject("Msxml2.XMLHTTP")
}catch(e){
try{
A=new ActiveXObject("Microsoft.XMLHTTP")
} catch(oc){
A=null
}
}
if(!A && typeof XMLHttpRequest != "undefined") {
A=new XMLHttpRequest()
}
return A
}
var contadorDeItens = 0;
var reqAdicionaItem = null;
function adicionaItem( cod, serv, chvproserv, nom, vlu ) {
if (reqAdicionaItem && reqAdicionaItem.readyState != 0){
reqAdicionaItem.abort();
}
reqAdicionaItem = getXMLHTTP();
if (reqAdicionaItem) {
contadorDeItens++;
// Campos necessário para aplicar no template
var url = 'empresario.osi.osiItem.chain';
url += '?';
url += 'velocityCount=' + escape(contadorDeItens);
url += '&itemOsi.serv=' + escape(serv);
url += '&itemOsi.chvproserv=' + escape(chvproserv);
url += '&itemOsi.qtd=' + escape(1);
url += '&itemOsi.vlu=' + escape(vlu);
url += '&itemOsi.vtot=' + escape(vlu);
reqAdicionaItem.open("GET", url, true);
reqAdicionaItem.onreadystatechange = function() {
if (reqAdicionaItem.readyState == 4 && reqAdicionaItem.responseText && reqAdicionaItem.status == 200) {
document.getElementById("tabelaDados").innerHTML += reqAdicionaItem.responseText;
}
}
reqAdicionaItem.send(null);
}
}
Problema: Após 10 requisições meu servidor Apache TomCat não responde. Todas as páginas não respondem. Para voltar a funcionar tenho que reiniciar o Apache.
Eu coloquei uns println() para ver o momento que a requisição chega e depois das ~10 requisições acredito que nem chega entrar na classe.
Estou usando Apache Tomcat 5.5.7, Java 1.5, VRaptor e Firefox 1.4.
Obrigado pela atenção.
