Hibernate, C3P0, Mysql — Broken Pipe

后端 未结 5 470
予麋鹿
予麋鹿 2020-12-08 16:46

MySQL seems to have an 8 hour time out on its connections. I\'m running multiple WARs in Tomcat utilizing Hibernate for ORM. After 8 hours (i.e. overnight), I get broken pip

5条回答
  •  北海茫月
    2020-12-08 17:26

    I was getting the same problem and it took time to figure out the solution.

    I use Hibernate 4.0.1 and mysql 5.1(no spring framework) and I was facing the issue. First make sure that you configured the c3p0 jars properly which are essential.

    I used these properties in hibernate.cfg.xml

    true
    org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
    5
    20
    50
    SELECT 1;
    true
    10
    5
    200
    40
    

    But it's of no use 'cause C3p0 was still taking the default properties not the properties which I set in hibernate.cfg.xml, You can check it in logs. So, I searched many websites for right solution and finally I came up with this. remove the C3p0 properties in cfg.xml and create c3p0-config.xml in the root path(along with cfg.xml) and set properties as follows.

    
     
    con_test
    40 
    10 
    10
    20 
    5 
    50
    SELECT 1;
    5
    200
    30
    
    
    

    but if you run, ORM takes the jdbc connection but not C3p0 connection pool 'cause we should add these properties in hibernate.cfg.xml

    true
    
    org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
    

    now everything works fine(At least it worked fine for me) and the issue is solved.

    check the following for references.

    http://www.mchange.com/projects/c3p0/index.html#configuring_connection_testing

    https://community.jboss.org/wiki/HowToConfigureTheC3P0ConnectionPool

    I hope this solves your problem.

提交回复
热议问题