org.postgresql.util.PSQLException: 後端啟動失敗:FATAL: sorry, too many clients already。
at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:443)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:98)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:117)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
at org.postgresql.Driver.connect(Driver.java:235)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at yd.jinxiao.dbc.DBConnection.<init>(DBConnection.java:17)
at yd.jinxiao.daoimpl.ComproductmappingDaoImpl.getConn(ComproductmappingDaoImpl.java:20)
at yd.jinxiao.daoimpl.ComproductmappingDaoImpl.<init>(ComproductmappingDaoImpl.java:23)
at yd.jinxiao.factory.DaoFactory.getComproductmappingDaoImplInstance(DaoFactory.java:10)
at yd.jinxiao.servlet.JinXiaoAction.doPost(JinXiaoAction.java:33)
at yd.jinxiao.servlet.JinXiaoAction.doGet(JinXiaoAction.java:22)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)從今天的log文件里找到的異常,應該是因為,有的連接沒有關閉,造成了連接過多的問題!
但是有的連接,我關閉后,有的數據就查不出了,有點麻煩!
有沒有什么好的辦法來解決?

解决方案 »

  1.   

    如果是关于I/O问题,多注意 flush();close();
      

  2.   

    有太多连接同时访问你一个方法,把你的方法设为同步试试 把你的方法加上 synchronized 关键字
      

  3.   

    To 四樓的兄弟flush()如何作處理可以指導下嗎?
      

  4.   

    代码中:
    resultset.close()
    statement.close()
    connection.close()服务器配缓冲池
      

  5.   

    我把項目配成DataSource(Connection pool)了,正在用,不知道會不會好點,等測試完了再發給大家一個 結果!
    結帖再等几天,不好意思 ,謝謝大家的幫助!
      

  6.   

    測試出來了,已經把數據源(conncetion pool)配置在了服務器上,還沒出現什么問題,這個就先告個段落吧,結帖了!
    謝謝大家的幫助,有老大家的等待!