在 ejb 3.0 jboss 6 环境中,我有一个名为 DBInterface 的 bean,它被注入到许多 dao 类中以执行 sql 查询。DBInterface bean 将数据源作为字段变量注入。DBInterface bean 中的所有方法都从注入的数据源获取数据库连接,并在处理完数据库调用后关闭连接。在运行应用程序时,经过一段时间后,我得到 sql 异常说无法创建数据库连接。我正在关闭 finally 块中每个方法调用的连接。我在哪里犯错误?我在 jboss 中使用 ejb 3.0。关于 V
public class DBInterface {
@Resource(mappedName = "java:ora.ds", type = DataSource.class)
private static DataSource dataSource;
protected Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printstacktrace();
}
}
public void method1() {
Connection connection = null;
try {
connection = getConnection();
...............
db codes
.................
} catch (SQLException e) {
logger.error(e);
throw new DBException("sql exception ", e);
} finally {
try {
closeResources(rs, statement, connection);
} catch (SQLException e) {
logger.error(e);
throw new DBException("sql exception ", e);
}
}
}
public void closeResources(ResultSet rs, Statement st, Connection con)
throws SQLException {
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
}
}