Pessoal estou com um probleminha para motar um json com 200000 registros da base de dados, gostaria de saber se existe alguma forma de gerar esse json mais rapido, abaixo segue meu código:
PrintWriter out = null;
System.out.println("Parâmetro: " + request.getParameter("method"));
try {
out = response.getWriter();
List<Quadrante> quadrantes = new ArrayList<Quadrante>();
System.out.println("Iniciando o loop para criar a lista com todos os quadrantes...");
for (Quadrante quadrante : quadranteDao.getQuadrantes()) {
quadrantes.add(quadrante);
}
Long timeIni = System.currentTimeMillis();
out.print(gson.toJson(quadrantes));
Long timeFim = System.currentTimeMillis();
Long saida = timeFim - timeIni;
System.out.println("Tempo para gerar o json com: " + quadrantes.size() + " o tempo foi de " + saida + "s");
out.flush();
} catch (IOException ex) {
System.out.println("Erro ao enviar a resposta para o android. Erro: " + ex);
} finally {
out.close();
}
Com esses dados que o servidor envia crio uma malha no google maps, abaixo segue meu js:
function carregaQuadrantes() {
$(function() {
$.ajax({
type: "GET",
url: "/maps/Quadrantes?method=findAll",
success: function(dados) {
$.each(dados, function(key, val) {
console.log(val.latitudeNe);
var SW = new google.maps.LatLng(val.latitudeSw, val.longitudeSw);
var NE = new google.maps.LatLng(val.latitudeNe, val.longitudeNe);
var rectangle = new google.maps.Rectangle();
var rectOptions = {
strokeColor: "black",
strokeOpacity: 0.5,
strokeWeight: 0.2,
fillOpacity: 0,
map: map,
bounds: new google.maps.LatLngBounds(NE, SW)
};
rectangle.setOptions(rectOptions);
rectArr.push(rectangle);
bindWindow(rectangle, rectArr.length);
});
}
});
});
}
O código js esta com um tempo consideravel, porem a geração do json esta demorando muito alguem tem alguma dica de como gerar o json de uma forma rápida?