J'écris une application Java qui utilise Java DB (c'est-à-dire Apache Derby) comme base de données. J'utilise la méthode suivante pour se connecter à la base de données:Comment vérifier si une autre instance de Derby est déjà démarrée?
Connection getConnection() throws SQLException {
EmbeddedDataSource ds = new EmbeddedDataSource();
ds.setDatabaseName(dbUri);
ds.setPassword(password);
ds.setUser(username);
Connection conn = ds.getConnection();
conn.setSchema(schema);
return conn;
}
Cela fonctionne bien, mais parfois je reçois l'exception suivante:
java.sql.SQLException: Another instance of Derby may have already booted the database
Cela se produit lorsque je lance ma demande et en même temps mySQreuiL SQL Client est connecté à ma base de données. Donc, tout fonctionne comme prévu, mais je voudrais être en mesure de vérifier cela dans ma méthode getConnection()
. Autrement dit, je voudrais vérifier si des sessions sont ouvertes à ma base de données, et par exemple, les fermer, lancer ma propre boîte de dialogue d'exception ou d'affichage d'erreur. Je ne sais pas comment faire ça.
Thx