J'ai créé un thread avec les paramètres java.sql.Connection et String. Mais à partir de l'intérieur du thread, j'ai observé que la valeur String était disponible mais que l'objet Connection ne l'était pas. Des indices?java.sql.Connection non visible depuis un thread
(détails Modification en question):
Eh bien, il semble l'objet de connexion est disponible, mais fermé à l'intérieur du fil. Voici le code:
package com.catgen.helper;
import java.sql.Connection;
public class ImageCheckHelper extends Thread{
public Connection conn = null;
public String str = null;
public ImageCheckHelper(Connection conn, String str){
this.conn = conn;
this.str = str;
try{
System.out.println("From inside the constructor");
System.out.println((this.conn!=null)?"Connection is not null":"Connection is null");
System.out.println((this.str!=null)?"String is not null":"String is null");
System.out.println((this.conn.isClosed())?"Connection is closed.":"Connection is not closed");
System.out.println("\n\n");
}catch(Exception e){
e.printStackTrace();
}
}
public void run(){
try{
System.out.println("From inside the thread");
System.out.println((conn!=null)?"Connection is not null":"Connection is null");
System.out.println((str!=null)?"String is not null":"String is null");
System.out.println((conn.isClosed())?"Connection is closed.":"Connection is not closed");
}catch(Exception e){
e.printStackTrace();
}
}
public void initiateImageCheck(){
this.start();
return;
}
}
Et voici la sortie:
From inside the constructor
Connection is not null
String is not null
Connection is not closed
From inside the thread
Connection is not null
String is not null
Connection is closed.
Non sans que vous fournissiez un code quel qu'il soit, non ... –
Attention, les objets JDBC comme 'Connection',' Statement', 'ResultSet' etc. ne sont pas thread-safe en général; n'utilisez pas ces objets de plusieurs threads en même temps. Si vous avez plusieurs threads accédant à la même base de données en même temps, chaque thread aura besoin de sa propre connexion séparée. – Jesper
Merci beaucoup Jesper. – James