我試圖瞭解最大開放會話和sessiion打開和關閉行爲。我遇到了這個,它不能完全理解。模擬「PSQLException:致命:抱歉,已經有太多客戶」
我想在我的代碼中模擬「PSQLException: FATAL: sorry, too many clients already」
。 我已經設置MAX_CONNECTIONS分至10
,並試圖將此代碼:
Session session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
session = HibernateUtil.getSessionFactory().openSession();
我在這裏期待誤差在11日打電話,我不明白。當我運行sql命令SELECT datname, numbackends FROM pg_stat_database where datname = 'XXX';
我相信會顯示公開會話計數,我看它被限制在10.
請解釋行爲。
您可以使用類似Mockito的東西來模擬會話工廠,並在調用openSession時讓模擬拋出PSQLException。 – 2014-11-03 10:29:05
嘗試'設置max_connections = 100' – 2014-11-03 10:51:18
upvoted你想壓力測試你的應用程序。 – grasshopper 2014-11-03 14:01:37