Я использую этот код для извлечения данных из таблицы базы данных.JSF-страница зависает, когда перезагружается много раз
public List<Dashboard> getDashboardList() throws SQLException {
if (ds == null) {
throw new SQLException("Can't get data source");
}
//get database connection
Connection con = ds.getConnection();
if (con == null) {
throw new SQLException("Can't get database connection");
}
PreparedStatement ps = con.prepareStatement(
"SELECT * from GLOBALSETTINGS");
//get customer data from database
ResultSet result = ps.executeQuery();
List<Dashboard> list = new ArrayList<Dashboard>();
while (result.next()) {
Dashboard cust = new Dashboard();
cust.setUser(result.getString("SessionTTL"));
cust.setPassword(result.getString("MAXACTIVEUSERS"));
//store all data into a List
list.add(cust);
}
return list;
}
Этот код является частью страницы JSF, которая размещается на сервере Glassfish. Проблема в том, что когда я повторно загружаю страницу JSF много раз (примерно в 8 раз), веб-страница замерзает. Я подозреваю, что пул потоков заполнен и нет места для новых подключений. Как я могу решить проблему? Закройте соединение, когда запрос завершен или есть другой способ?
С наилучшими пожеланиями
Не могли бы вы показать нам, как вы настраиваете этот источник данных? Это объединение в первую очередь? –
Является ли этот код действительно частью вашей страницы jsf (так что вы используете JSP)? Или это часть бэк-бэнда? Если последний, каков объем боба? –
Я сделал несколько снимков экрана конфигурации бассейна: http://imageshack.us/g/827/screenshotbg.png/ –