Escritura multiproceso en MySQL DB con JDBC y c3p0

¿Que está sucediendo aquí?

public Connection getConnection() throws SQLException {
    logger.info("Creating connection to DB!");
    return this.cpds.getConnection();
}

A saber, ¿qué hace cpds.getConnection ()? Cuando usted llama:

connection = DataBaseManager.getInstance().getConnection();

Su objeto de conexión es miembro de lo que se supone que es una clase singleton aquí, pero cada llamada a writeData () lo sobrescribe con una nueva llamada getConnection (). ¿El hilo de llamada getConnection () también es inseguro?

Además, ¿por qué el objeto de conexión se declara como un miembro de la clase y luego se sobrescribe cada vez que se llama writeData ()? En un entorno multiproceso, el código tal como existe permite que otra llamada getConnection () sobrescriba el objeto de conexión inmediatamente antes de que se invoque prepareStatement (), ya que el acceso a writeData () no está bloqueado. Lo mismo para la declaración preparada. Moverlos al método writeData ().

Respuesta 1

Hola, tengo 2 tablas como se muestra a continuación Tabla1: + ------------------- + | ID LOB col1 col2 | + ------------------- + Clave primaria (ID y LOB) Tabla2: + ----------------- + | SK ID col3 col4 | ...

Tengo un proyecto de Java donde estoy leyendo un archivo. Como el archivo está en el directorio actual, estoy haciendo esto: String dataset = "./myFile.dat"; Pero estoy obteniendo: java.io.FileNotFoundException diciéndolo ...

ArrayList <Integer> a = new ArrayList <Integer> (); ArrayList <ArrayList <Integer>> j = new ArrayList <ArrayList <Integer>> (); a.add (1); a.add (2); a.add (3); para (int c = 0; c & ...

Estaba tratando de escribir un código para el juego Tic Tac Toe. Escribí el siguiente código para mostrar el tablero del juego, pero algo está mal y no muestra la salida requerida. Podrias ayudarme por favor ...