Couldn't perform the operation setAutoCommit: You can't perform any operations on this connection. I


錯誤描述:java.sql.SQLException: Couldn't perform the operation setAutoCommit: You can't perform any operations on this connection. It has been automatically closed by Proxool for some reason (see logs).
    at org.logicalcobwebs.proxool.WrappedConnection.invoke(WrappedConnection.java:207)
    at org.logicalcobwebs.proxool.WrappedConnection.intercept(WrappedConnection.java:87)
    at $java.sql.Connection$$EnhancerByProxool$$c663b102.setAutoCommit(<generated>)
    at org.hibernate.transaction.JDBCTransaction.toggleAutoCommit(JDBCTransaction.java:224)
    at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:169)
    at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:142)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
ERROR 2013-05-22 18:32:20,839 org.hibernate.transaction.JDBCTransaction: JDBC commit failed
java.sql.SQLException: Couldn't perform the operation commit: You can't perform any operations on this connection. It has been automatically closed by Proxool for some reason (see logs).
    at org.logicalcobwebs.proxool.WrappedConnection.invoke(WrappedConnection.java:207)
    at org.logicalcobwebs.proxool.WrappedConnection.intercept(WrappedConnection.java:87)
    at $java.sql.Connection$$EnhancerByProxool$$c663b102.commit(<generated>)
    at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:166)
    at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:142)
    at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:662)

解決方法:錯誤的意思是說,由於某些原因連接被Proxool自動關閉,出現這種情況,一般有如下原因:

                       1.可能為連接數據庫超時,比如調試時,對一個窗口停留太久。(對Lucene建立的站內搜索時,俺就出現了這個錯誤~)

                       2.網上的說法:

                       <proxool.minimumConnectionCount>5</proxool.minimumConnectionCount>//最小連接數
                       <proxool.maximumConnectionCount>150</proxool.maximumConnectionCount>//最大連接數
                        <proxool.simultaneousBuildThrottle>20</proxool.simultaneousBuildThrottle>//同時最大連接數

                       連接數夠用,但是同時最大連接數設置的小了點,取不到連接導致報錯。

  轉載請標明:




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM