Hiya,

Seems to be a couple of different ways of addressing this problem (none of
which I've tried ;p), but maybe this will be of some use to you before
someone who knows what they're talking about offers a hand!

1. Increase the *wait_timeout* setting in your mysql.ini or mysql.cnf file..
which seems to be quoted at a lot of places doing a quick google on those
terms. Got to assume that there's some good reason the the default is 8
hours though! Ref for system properties is here:
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#option_mysqld_wait_timeout

2. Implement something along the lines of what's suggested in section "*
26.4.5.3.4: **I have a servlet/application that works fine for a day, and
then stops working overnight" *of
http://dev.mysql.com/doc/refman/5.0/es/connector-j-usagenotes-troubleshooting.html

Cheers,

Pete


On 9/25/07, sparqle <[EMAIL PROTECTED]> wrote:
>
>
> Hello,
>
> I am using Appfuse2.0 RC1, and I get the following JDBC exception every
> morning on my application (if I am the first person to login). I am
> guessing
> that this is happening due to a timeout of the MySQL connections.
> I tried changing the URL of my database to include the
> "autoReconnect=true"
> (in jdbc.properties and applicationContext-resources). Still, I keep
> getting
> the same error every morning.
> Is there any other setting that needs to be changed?
>
> regards
>
> org.springframework.transaction.CannotCreateTransactionException: Could
> not
> open Hibernate Session for transaction; nested exception is
> org.hibernate.TransactionException: JDBC begin failed:
> Caused by: org.hibernate.TransactionException: JDBC begin failed:
>        at org.hibernate.transaction.JDBCTransaction.begin(
> JDBCTransaction.java:68)
>        at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java
> :1326)
>        at
> org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(
> HibernateTransactionManager.java:510)
>        at
>
> org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction
> (AbstractPlatformTransactionManager.java:350)
>        at
>
> org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary
> (TransactionAspectSupport.java:262)
>        at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(
> TransactionInterceptor.java:102)
>        at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:166)
>        at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(
> JdkDynamicAopProxy.java:204)
>        at $Proxy25.loadUserByUsername(Unknown Source)
>        at
> org.acegisecurity.providers.dao.DaoAuthenticationProvider.retrieveUser(
> DaoAuthenticationProvider.java:100)
>        at
>
> org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate
> (AbstractUserDetailsAuthenticationProvider.java:119)
>        at
> org.acegisecurity.providers.ProviderManager.doAuthentication(
> ProviderManager.java:195)
>        at
> org.acegisecurity.AbstractAuthenticationManager.authenticate(
> AbstractAuthenticationManager.java:45)
>        at
>
> org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication
> (AuthenticationProcessingFilter.java:71)
>        at
> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(
> AbstractProcessingFilter.java:211)
>        at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
>        at
> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(
> HttpSessionContextIntegrationFilter.java:286)
>        at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
>        at
> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java
> :149)
>        at
> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java
> :98)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:174)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:108)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :151)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
>        at
>
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:665)
>        at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:528)
>        at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:81)
>        at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:689)
>        at java.lang.Thread.run(Unknown Source)
> Caused by: com.mysql.jdbc.CommunicationsException: Communications link
> failure due to underlying exception:
>
> ** BEGIN NESTED EXCEPTION **
>
> java.net.SocketException
> MESSAGE: Software caused connection abort: recv failed
>
> STACKTRACE:
>
> java.net.SocketException: Software caused connection abort: recv failed
>        at java.net.SocketInputStream.socketRead0(Native Method)
>        at java.net.SocketInputStream.read(Unknown Source)
>        at
> com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java
> :113)
>        at
>
> com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary
> (ReadAheadInputStream.java:160)
>        at
> com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java
> :188)
>        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1960)
>        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2375)
>        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2874)
>        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
>        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
>        at com.mysql.jdbc.Connection.execSQL(Connection.java:3243)
>        at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:5371)
>        at
> org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(
> DelegatingConnection.java:331)
>        at
>
> org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit
> (PoolingDataSource.java:317)
>        at org.hibernate.transaction.JDBCTransaction.begin(
> JDBCTransaction.java:63)
>        at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java
> :1326)
>        at
> org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(
> HibernateTransactionManager.java:510)
>        at
>
> org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction
> (AbstractPlatformTransactionManager.java:350)
>        at
>
> org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary
> (TransactionAspectSupport.java:262)
>        at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(
> TransactionInterceptor.java:102)
>        at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:166)
>        at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(
> JdkDynamicAopProxy.java:204)
>        at $Proxy25.loadUserByUsername(Unknown Source)
>        at
> org.acegisecurity.providers.dao.DaoAuthenticationProvider.retrieveUser(
> DaoAuthenticationProvider.java:100)
>        at
>
> org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate
> (AbstractUserDetailsAuthenticationProvider.java:119)
>        at
> org.acegisecurity.providers.ProviderManager.doAuthentication(
> ProviderManager.java:195)
>        at
> org.acegisecurity.AbstractAuthenticationManager.authenticate(
> AbstractAuthenticationManager.java:45)
>        at
>
> org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication
> (AuthenticationProcessingFilter.java:71)
>        at
> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(
> AbstractProcessingFilter.java:211)
>        at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
>        at
> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(
> HttpSessionContextIntegrationFilter.java:286)
>        at
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
>        at
> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java
> :149)
>        at
> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java
> :98)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:174)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:108)
> --
> View this message in context:
> http://www.nabble.com/Getting-JDBC-Exception-if-application-not-used-for-more-than-8-hours-tf4515722s2369.html#a12879969
> Sent from the AppFuse - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to