异常如下:org.springframework.dao.DataAccessResourceFailureException: could not execute query; nested exception is org.hibernate.exception.JDBCConnectionException: could not execute query
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:609)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
cn.edu.hstc.dao.impl.SXAdminDAOImpl.loginAdm(SXAdminDAOImpl.java:40)
cn.edu.hstc.service.impl.SXAdminServiceImpl.loginAdm(SXAdminServiceImpl.java:46)
cn.edu.hstc.action.sxadmin.LoginAdmAction.execute(LoginAdmAction.java:46)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(
上面红色语句报异常的行数代码是这样的:LoginAdmAction类是这行:
SXAdmin adm= service.loginAdm(sxadmin.getAdmUsername(),sxadmin.getAdmPassword());SXAdminServiceImpl类:
return this.sxadminDao.loginAdm(admUsername, admPassword);SXAdminDAOImpl类:
List admin=this.getHibernateTemplate().find("from SXAdmin admin where admin.admUsername = ? and admin.admPassword = ?", args);
我很郁闷,在我本机电脑上时测试都正常,然后放到服务器上后,一段时间后,第一个重新登陆那网站的就会报那异常,然后他刷新后重新登陆就正常了,第二个人用别的电脑也是正常的

解决方案 »

  1.   

    好像是JDBC的连接问题,看看数据库的连接。
      

  2.   

    我的配置文件是这样的 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver">
    </property>
    <property name="url" value='jdbc:mysql://localhost:3306/dxscxsypt?useUnicode=true&amp;characterEncoding=utf-8'>
    </property>
    <property name="username" value="root"></property>
    <property name="password" value="admin"></property>
    <property name="maxActive" value="100"></property>
    <property name="maxIdle" value="30"></property>
    <property name="maxWait" value="500"></property> </bean> <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
    destroy-method="close">
    <property name="dataSource" ref="dataSource"></property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">false</prop>
    </props>
    </property> <property name="mappingResources">
    <list>
    <value>cn/edu/hstc/bean/User.hbm.xml</value>
    <value>cn/edu/hstc/bean/Admin.hbm.xml</value>
    <value>cn/edu/hstc/bean/Type.hbm.xml</value>
    <value>cn/edu/hstc/bean/News.hbm.xml</value>
    <value>cn/edu/hstc/bean/MatchType.hbm.xml</value>
    <value>cn/edu/hstc/bean/Matchs.hbm.xml</value>
    <value>cn/edu/hstc/bean/ChildBase.hbm.xml</value>
    <value>cn/edu/hstc/bean/ChildNews.hbm.xml</value>
    <value>cn/edu/hstc/bean/ChildMatchs.hbm.xml</value>
    </list>
    </property>
    </bean>
      

  3.   

    连接池配置中增加这句话试试看:
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
      ......
      <property name="validationQuery" value="SELECT CURRENT_USER"/>
    </bean>