【发布时间】:2016-07-29 07:27:38
【问题描述】:
在一个应用程序中,我们使用 JDBC 连接到 Oracle 数据库。我们已附上。问题是通过回调/侦听器识别数据库已关闭。
目前,我们附加了以下监听器:
Connection eventListener = new ConnectionEventListener() {
@Override
public void connectionErrorOccurred(ConnectionEvent event){
// log - connection error
}
@Override
public void connectionClosed(ConnectionEvent event) {
// log - connection closed
}
}
数据库关闭时不会触发这些事件。
这个想法是检测数据库关闭然后数据库启动,并有一个机制来通知用户,并轮询数据库(可配置)或暂停服务(应用程序)。
【问题讨论】:
-
你是什么意思?!当连接失败时,可能 db 已关闭或其他什么。
-
还有一种方法可以在数据库未关闭的情况下终止会话,执行以下操作:alter system kill session '
, '