Excepción montón de Java espacial, con gran cantidad de datos, cualquier solución?
-
30-09-2019 - |
Pregunta
Tengo un gran problema con la memoria Litle montón de Java Estoy intentando migrar de Oracle Database 11g al archivo de acceso 2007
Esto no es un problema por debajo de 65.000 registros, ya partir de ahí ... La aplication está lanzando java excepción montón, el consumo de memoria está levantando más de 600 metros y el uso de CPU más del 50% hasta que la excepcion.
Por lo que yo sé la rset.next () no reciben todos los datos (más de 50 columnas x 65.000 fila), pero algunos registros x tiempo Trato he traigo al conjunto tamaño demasiado, no pasó nada
rset.setFetchSize(1000);
He borrado mi código y mostrar una salida, el mismo error
while (rset.next()) {
if (cont % 5000 == 0) {
System.out.println(cont + " proccesed and counting ...");
}
}
Por favor, no me dan la respuesta de usar XM (s, x) 512, 1024, etc ... esto podría resolverse, no en mi caso particularmente (i he tryied para establecer este aún mayor xD, nada acaecer, me dieron la misma excepción a 65.000 registros también)
¿Hay alguna otra opción que podría intentar ??, meaby cambiar algunas configuraciones de controladores o conexiones de cadena ?? por favor ayuda
Lo sentimos aboubt mi Inglés
Este es mi conexión:
Class.forName("oracle.jdbc.driver.OracleDriver");
this.conn = DriverManager.getConnection("jdbc:oracle:thin:@" + getServer() + ":1521:orcl", getUser(), getPassword());
this.stmt = this.conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_UPDATABLE);
Solución
Parece que el problema es que está utilizando un conjunto de resultados desplazable y que va a utilizar más memoria.