📄 connectdb.java
字号:
/**
* @(#)ConnectDBThread.java Nov 30, 2006 1:42:05 PM
*
* COPYRIGHT DaTang Mobile Communications Equipment CO.,LTD
*/
package com.datangmobile.oss.omc.pc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.datangmobile.oss.omc.pc.util.Database;
import com.datangmobile.oss.platform.util.ILogger;
import com.datangmobile.oss.platform.util.ModuleLogger;
/**
* 连接数据库的处理类,当发生数据库断连的时候,则由它负责定期尝试连接,直到成功为止则继续wait
*
* @author liuyuan
*
*/
public class ConnectDB {
/**
* 日志
*/
private static final ILogger log = ModuleLogger.getPmLogger()
.getOperLogger();
/**
* 连接是否成功
*/
private Boolean isConnectSuccess = true;
private static ConnectDB instance = new ConnectDB();
/**
* 单例类
*
* @return
*/
public static ConnectDB getInstance() {
return instance;
}
/**
* 数据库连接 返回连接成功或是连接失败
*
* @return
*/
public void connect() {
// 如果原来就是链接上的,do nothing
if (isConnectSuccess) {
return;
}
try {
Connection conn = Database.connect();
Statement stmt = conn.createStatement();
String query = "select count(name) as totall from tbl_guide_line where category = 'NEDEF'";
ResultSet rs = null;
rs = stmt.executeQuery(query);
while (rs.next()) {
rs.getInt("totall");
}
setConnectSuccess(true);
} catch (Exception e) {
log.error("connect DB failure in detectDBTimer", e);
setConnectSuccess(false);
}
}
public boolean isConnectSuccess() {
return isConnectSuccess;
}
/**
* 设置链接状态(在入库时发生DB异常下,设为false)
*/
public void setConnectSuccess(Boolean isConnectSuccess) {
synchronized (isConnectSuccess) {
this.isConnectSuccess = isConnectSuccess;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -