Я пишу какое-то Java-приложение, которое использует Java DB (например, Apache Derby) в качестве базы данных. Я использую следующий метод для подключения к базе данных:
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;
}
Это работает нормально, но иногда я получаю следующее исключение:
java.sql.SQLException: Another instance of Derby may have already booted the database
Это происходит, когда я запускаю свое приложение и в то же время SQuirreL SQL Client подключается к моей базе данных. Итак, все работает, как и ожидалось, но я хотел бы иметь возможность проверить это в моем методе getConnection()
. Другими словами, я хотел бы проверить, открыты ли какие-либо сеансы для моей базы данных, и, например, закрыть их, создать собственное исключение или отобразить диалоговое окно с ошибкой. Я не знаю, как это сделать.
Спасибо