L'application web (Tomcat-jdbc) a Regroupé DB connexion jeter abandonner exception

J'ai été la navigation pendant un certain temps, et de mâcher mon chapeau dans le processus, mais ne peut pas trouver une correspondance exacte à mon problème.
Pour faire court, je suis une superbe trace de la pile (org.apache.tomcat.jdbc.piscine.ConnectionPool abandonner) après 60 secondes d'inactivité, ce qui est un comportement normal pour un couple de côté de serveur de threads.
J'utilise Tomcat Connexion JDBC mise en commun (org.apache.tomcat.jdbc.piscine.Source de données) directement
La Trace De Pile:

 Oct 29, 2012 8:55:50 PM org.apache.tomcat.jdbc.piscine.ConnectionPool abandonner 
AVERTISSEMENT: la Connexion a été abandonné PooledConnection[com.mysql.jdbc.JDBC4Connection@1ad2916]:java.lang.Exception 
au org.apache.tomcat.jdbc.piscine.ConnectionPool.getThreadDump(ConnectionPool.java:967) 
au org.apache.tomcat.jdbc.piscine.ConnectionPool.borrowConnection(ConnectionPool.java:721) 
au org.apache.tomcat.jdbc.piscine.ConnectionPool.borrowConnection(ConnectionPool.java:579) 
au org.apache.tomcat.jdbc.piscine.ConnectionPool.getConnection(ConnectionPool.java:174) 
au org.apache.tomcat.jdbc.piscine.DataSourceProxy.getConnection(DataSourceProxy.java:111) 
au com.getsom.getConnection(DAO.java:1444) 
au com.getsom.PreparedConnection.(PreparedConnection.java:48) 
au com.getsom.Alarmes.exécuter(Alarmes.java:492) 

Mon PoolProperties sont configurés comme suit:

    PoolProperties pp = new PoolProperties();

    pp.setUrl( someValidUrl);
    pp.setDriverClassName("com.mysql.jdbc.Driver");
    pp.setUsername( someUser);
    pp.setPassword( somePassword);
    pp.setJmxEnabled( true);
    pp.setTestWhileIdle( true);
    pp.setTestOnBorrow( true);
    pp.setValidationQuery( "SELECT 1");
    pp.setTestOnReturn( false);
    pp.setValidationInterval(30000);
    pp.setTimeBetweenEvictionRunsMillis(30000);
    pp.setMaxActive(100);
    pp.setInitialSize(10);
    pp.setMaxWait(10000);
    pp.setMinEvictableIdleTimeMillis(30000);
    pp.setMinIdle(10);

    pp.setLogAbandoned(true);
    pp.setRemoveAbandoned(true);
    pp.setRemoveAbandonedTimeout(60);
    pp.setJdbcInterceptors("org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"+
      "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer");    

    setPoolProperties(pp);

J'espérais setValidationInterval(30000) me sauver, depuis des années 30 n'est pas beaucoup dans une connexion cycle de vie. De toute façon, la question est:
Ce qui me manque pour garder ce lien vivant pour toujours?
Un bon à savoir : Pourquoi suis-je timing dans la fonction qui a coûté la connexion, même si elle a été invoquée 30 secondes plus tôt.

OriginalL'auteur MonoThreaded | 2012-10-29