2016-07-18 17 views
0

Ich habe eine Java-Frühling Ruhezustand Anwendung mit postgresql. dies ist mein C3p0c3p0 maxIdleTime funktioniert nicht

<property name="acquireIncrement" value="5"/> 
    <property name="initialPoolSize" value="5"/> 
    <property name="minPoolSize" value="5" /> 
    <property name="maxPoolSize" value="${c3p0.maxPoolSize}" /> 

    <property name="maxIdleTime" value="1800"/> 
    <property name="numHelperThreads" value="6"/> 
    <property name="maxStatements" value="0" /> 
    <property name="maxStatementsPerConnection" value="20" /> 

    <property name="idleConnectionTestPeriod" value="3000" /> 

In pgAdmin Einstellungen, ich sehe Verbindungen, die für mehr als 2 Stunden im Leerlauf sitzen. Gibt es eine andere Eigenschaft, die festgelegt werden muss

Antwort

0

Die maxIdleTime Einstellung ist für Verbindungen, die im Pool inaktiv sind. Was bedeutet, nicht ausgecheckt. Ist es möglich, dass Sie einige Verbindungen haben, die nicht geschlossen sind? In diesem Fall sind Verbindungen offen und werden nicht als inaktiv betrachtet, da sie ausgecheckt, aber nicht eingecheckt sind. In diesem Fall können Sie unreturnedConnectionTimeout und debugUnreturnedConnectionStackTraces festlegen, um herauszufinden, wo sich diese nicht geschlossene Verbindung befindet.

http://www.mchange.com/projects/c3p0/#unreturnedConnectionTimeout

http://www.mchange.com/projects/c3p0/#debugUnreturnedConnectionStackTraces