298
10 Parametrización mediante archivos XML
// obtengo y muestro los datos del pool P1
PoolTag t1 = cp.getPools().getPoolTag("P1"); System.out.println(t1.getMaxsize()); System.out.println(t1.getMinsize()); System.out.println(t1.getSteep()); // obtengo y muestro los datos del pool P2
}
}
PoolTag t2 = cp.getPools().getPoolTag("P2"); System.out.println(t2.getMaxsize()); System.out.println(t2.getMinsize()); System.out.println(t2.getSteep()); ■
Ahora sí veamos el resto de la clase ConnectionPoolTag. Los métodos getInstancia, startElement y endElement. ▼
// ...
public class ConnectionPoolTag extends DefaultHandler { // ...
public static ConnectionPoolTag getInstancia() { try { if( instancia == null ) { SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); sp.parse("connectionpool.xml", new ConnectionPoolTag()); }
}
return instancia; } catch(Exception ex) { ex.printStackTrace(); throw new RuntimeException(); }
// sigue mas abajo // :
■
En el método getInstancia, preguntamos si la variable estática sobre la que vamos a implementar el singleton es null. Si es así entonces tenemos que instanciarla. Esto lo hacemos en el método startElement que se invocará a continuación como parte del proceso de parseo.
Java a fondo - Ing. Pablo A. Sznajdleder
Java a fondo / pag. 298