-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: C3P0 connection pool tester is not called
PostPosted: Tue Jan 18, 2011 12:08 pm 
Newbie

Joined: Tue Jan 18, 2011 12:02 pm
Posts: 2
I tried to check if connect is up or down to MySQL using C3P0 connection pool tester. It works if password is correct. But password can be changed and I need to let user know that there is no connection to MySQL.
I want to understand why buildSessionFactory() does not start connection tester.

I used Hibernate+C3P0.


Here is a my config:
setProperty("hibernate.connection.driver_class",
"com.mysql.jdbc.Driver");
setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
setProperty("hibernate.connection.url", "jdbc:mysql://localhost:"
+ getDBPort() + "/emplatcore");
setProperty("hibernate.connection.username", Network.getInstance()
.getMASDBAccountCred().getUserName());
setProperty("hibernate.connection.password", Network.getInstance()
.getMASDBAccountCred().getPassword());

setProperty("hibernate.show_sql", "false");

setProperty("hibernate.c3p0.aquire_increment",
Integer.toString(getConnectionAcquireIncrement()));
setProperty("hibernate.c3p0.idle_test_period",
Integer.toString(getIdleTestPeriod()));
setProperty("hibernate.c3p0.timeout",
Integer.toString(getIdleTimeout()));
setProperty("hibernate.c3p0.max_size",
Integer.toString(getMaxConnections()));
setProperty("hibernate.c3p0.max_statements",
Integer.toString(getStatementCache()));
setProperty("hibernate.c3p0.min_size",
Integer.toString(getInitialPoolSize()));
setProperty(
"c3p0.connectionTesterClassName",
"com.nortelnetworks.mcp.ne.mediaserver.db.dao.hibernate.c3p0.MCPHibernateConnectionTester");
setProperty("c3p0.acquireRetryAttempts",
Integer.toString(getAcquireRetryAttempts()));
setProperty("c3p0.acquireRetryDelay",
Long.toString(getAcquireRetryDelay()));

Settings:
<parm name="ConnectionAcquireIncrement" default="2" />
<parm name="IdleTestPeriod" default="30"/>
<parm name="IdleTimeOut" default="0" />
<parm name="MaxConnections" default="10"/>
<parm name="StatementCache" default="5" />
<parm name="InitialPoolSize" default="2" />
<parm default="5" name="AcquireRetryAttempts" />
<parm default="5000" name="AcquireRetryDelay" />
<parm default="3306" name="Port" />



There is no exception in my code. What I am trying to say is that it for some reason MySQL DB is down then buildSessionFactory() is not failed. As I read on forum this is correct scenario. But I created a C3P0 connection tester which should run every timeout to check the connection status and let me know if the connection to DB is established or not. But in this case tester is not called for some reason. I want to understand why it happens. Documentation says nothiing about this situation. If this is a bug and the tester should be started then the issue should be fixed.

This is what I am talking about.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.