It sounds like you need to add autoReconnect=true to your jdbc.url. I believe this was added by default to recent versions of the MySQL Driver - maybe you're using an older driver?
Matt On 9/23/07, Richard Paul <[EMAIL PROTECTED]> wrote: > > I'm having a similar problem with Appfuse 2.0-final. After a night of > inactivity the following exception is thrown the first time a user attempts > to use the application. Subsequent requests work as normal. The DBCP setup > is the default provided by Appfuse and the MySql (5.0.26) install hasn't > been configured in any way. Any suggestions greatly appreciated. > > /src/main/resources/applicationContext.xml > ... > <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" > destroy-method="close"> > <property name="driverClassName" value="${jdbc.driverClassName}"/> > <property name="url" value="${jdbc.url}"/> > <property name="username" value="${jdbc.username}"/> > <property name="password" value="${jdbc.password}"/> > <property name="maxActive" value="100"/> > <property name="maxWait" value="1000"/> > <property name="poolPreparedStatements" value="true"/> > <property name="defaultAutoCommit" value="true"/> > </bean> > ... > > Exception propagated to the exception handler (and presented to the user): > > 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:161) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy23.loadUserByUsername(Unknown Source) > at > org.acegisecurity.providers.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:87) > at > org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:115) > at > org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:188) > 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:199) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) > 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.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) > 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:210) > 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:870) > 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:685) > at java.lang.Thread.run(Thread.java:595) > Caused by: com.mysql.jdbc.CommunicationsException: Communications link > failure due to underlying exception: > > ** BEGIN NESTED EXCEPTION ** > > java.io.EOFException > > STACKTRACE: > > java.io.EOFException > at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1963) > 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:161) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy23.loadUserByUsername(Unknown Source) > at > org.acegisecurity.providers.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:87) > at > org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:115) > at > org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:188) > 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:199) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) > 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.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) > 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:210) > 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:870) > 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:685) > at java.lang.Thread.run(Thread.java:595) > > > ** END NESTED EXCEPTION ** > > > > Last packet sent to the server was 1 ms ago. > at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2586) > 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) > ... 37 more > > > > > > mraible wrote: > > > > If you're using AppFuse 1.9.x, your dataSource is configured > > WEB-INF/classes/applicationContext-resources.xml (in your final WAR). > > The same thing applies to AppFuse 2.x. However, in 2.x, the jdbc > > attributes are in a jdbc.properties file in the same directory. > > > > Matt > > > > On 9/6/07, romsrini <[EMAIL PROTECTED]> wrote: > >> > >> Michael, > >> > >> This is going to sound dumb, but I'm not sure how our pool is configured. > >> We're using the appFuse defaults. Where can I find the configuration file > >> or > >> what is the config file called in appFuse? > >> > >> Matt, > >> > >> Thanks for the link. I had found some similar (but a couple of years old) > >> pages. I essentially have the same questions as the guy in the thread you > >> sent. I just hope someone answers him. > >> -- > >> View this message in context: > >> http://www.nabble.com/How-to-deal-with-potential-stale-connections-in-pool--tf4387600s2369.html#a12527921 > >> Sent from the AppFuse - User mailing list archive at Nabble.com. > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > > http://raibledesigns.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > -- > View this message in context: > http://www.nabble.com/How-to-deal-with-potential-stale-connections-in-pool--tf4387600s2369.html#a12853058 > Sent from the AppFuse - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- http://raibledesigns.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]