Я использую базу данных в PostgreSQL 9.1, в которую постоянно поступают записи из другой программы. Я отправляю запрос от Ajax через 6 секунд, чтобы получить последнее окно ввода entry.tomcat показывает исключение ---
Arval SQLException: FATAL: sorry, too many clients already
и программа работает правильно и после этого.
Когда я проверяю свои postgres с запросом ---
select count(*) from pg_stat_activity;
это показывает, что соединение постоянно увеличивается, но я закрываю соединение после каждого запроса. Я использую netbeans и распорки 1.3.
long previousSNO = Long.parseLong(request.getParameter("previousSNO"));
if(previousSNO == 0)
{
sb.append("SELECT sno,search_type,search_value,search_date FROM log_temp ORDER BY search_date DESC LIMIT 20");
prest = cb.executeSQLQuery(sb.toString());
rs = prest.executeQuery();
}
else
{
sb.append("SELECT sno,search_type,search_value,search_date FROM log_temp WHERE sno > ? ORDER BY search_date DESC");
prest = cb.executeSQLQuery(sb.toString());
prest.setLong(1, previousSNO);
rs = prest.executeQuery();
}
rs.last();
int c = rs.getRow();
rs.beforeFirst();
if(rs!=null && c>0)
{
//code for making json resultsb from resultset here
rs.close();
}
cb.closeConnection();
response.setContentType("text/plain");
response.getWriter().print(resultsb.toString());
// и метод close в компоненте соединения равен
public void closeConnection() {
try {
// st.close();
conn.close();
System.out.println("con is closed");
conn = null;
} catch (SQLException e) {
e.getMessage();
System.out.println(e.getMessage());
System.out.println("con is not closed");
}
}
Каждый раз, когда его вывод на консоль "con is closed";