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]

Reply via email to