このコードを使用してデータベーステーブルからデータをフェッチします。何度もリロードされると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;
}
このコードは、glassfishサーバーにデプロイされたJSFページの一部です。問題は、JSFページを何度もリロードすると(約8回)、Webページがフリーズすることです。スレッドプールがいっぱいで、新しい接続のためのスペースがないと思われます。どのように問題を解決することができますか?クエリが終了したときに接続を閉じるか、別の方法がありますか?
お祈り申し上げますすべての
データソースの設定方法を教えてください。最初はプールされていますか? –
このコードは実際にjsfページの一部ですか(JSPを使用しているので)。それとも、裏打ち豆の一部ですか?後者の場合、Beanのスコープは何ですか? –
私はプール構成のいくつかのスクリーンショットを作った:http://imageshack.us/g/827/screenshotbg.png/ –