如何避免c3po中的连接超时?

时间:2018-03-30 17:57:08

标签: java mysql c3p0

如何避免c3p0连接中的连接超时错误?

我设置了TestConnectionOnCheckout = true
             PreferredTestQuery = SELECT 1
但是,没有修复。扔掉

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通讯链接失败

        cpds.setMinPoolSize(3);
        cpds.setMaxPoolSize(10);
        cpds.setIdleConnectionTestPeriod(29);
        cpds.setTestConnectionOnCheckout(true);
        cpds.setPreferredTestQuery("SELECT 1");

我的MySQL数据库超时为30秒。我需要每隔29秒发送一次db调用,或者在连接超时时重新连接连接。 怎么样 ?

1 个答案:

答案 0 :(得分:1)

评论

    //cpds.setMinPoolSize(3);
    //cpds.setMaxPoolSize(10);
    //cpds.setIdleConnectionTestPeriod(29);
    //cpds.setTestConnectionOnCheckout(true);
    //cpds.setPreferredTestQuery("SELECT 1");

并添加了TestConnectionOnCheckin,TestConnectionOnCheckout和MaxConnectionAge

    cpds.setTestConnectionOnCheckin(true);
    cpds.setTestConnectionOnCheckout(false);
    cpds.setMaxConnectionAge(28);

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