Hi Dennis, Thanks for your reply.
Well, some one told me to put the testWhileIdle property true but it's not working for me still same issue; no luck :( Secondly, You must be talking about "minEvictableIdleTimeMillis" property? Aren't you? Following is my setting for "minEvictableIdleTimeMillis" property. # The minimum amount of time an object may sit idle in the pool before it is # eligable for eviction by the idle object evictor (if any). # [Default: 180000 (30 min)] dbcp.minEvictableIdleTimeMillis=180000 Here you can find the complete configuration details. http://commons.apache.org/dbcp/configuration.html So rather then DBCP what do use? what are your recommendation? c3p0? my application is a spring+hibernate based app. Kind Regards Minhaj PS: for your information my application is a mulithreaded application where lots of threads running concurrently. On Fri, Jul 23, 2010 at 12:50 AM, Dennis Lundberg <[email protected]>wrote: > On 2010-07-21 07:37, Minhaj wrote: > > Hi, > > > > I'm facing the following problem when I'm trying to access database in > the > > morning. which means after use application after being 7+ hours idle. I > even > > tried to append autoReconnect=true into db connection string but no luck > yet > > :( and the most strangest thing is that this error rise only once in very > > first query, but when i try next time it works perfectly alright. > > > > Anyone ever faced such issue? > > Yes. What happens is that the MySQL server closes the connecion at the > server end, due to it not being used for an extended period of time. In > our experience this timeout is 8 hours. The server does not notify DBCP > or the calling application. So you end up with a JDBC connection on the > Java end that is unusable. > > What you need to do is make sure that each connection in the pool is > used every 8 hours or less. I don't use DBCP myself, but there usually > is a timer you can set in a connection pool that runs a really simple > keep-alive query in a given interval. > > > > > > > 2010-07-21 07:00:48,554 WARN (JDBCExceptionReporter.java:100) > > [org.hibernate.util.JDBCExceptionReporter, logExceptions] - SQL Error: 0, > > SQLState: 08S01 > > 2010-07-21 07:00:48,555 ERROR (JDBCExceptionReporter.java:101) > > [org.hibernate.util.JDBCExceptionReporter, logExceptions] - The last > packet > > successfully received from the server was 677,246,024 milliseconds ago. > The > > last packet sent successfully to the server was 677,246,024 milliseconds > > ago. is longer than the server configured value of 'wait_timeout'. You > > should consider either expiring and/or testing connection validity before > > use in your application, increasing the server configured values for > client > > timeouts, or using the Connector/J connection property > 'autoReconnect=true' > > to avoid this problem. > > > > > > > > Thanks are in advance. > > > > > -- > Dennis Lundberg > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
