我的web项目用的是struts2.0+hibernate+spring框架,最近出现一个问题,就是我在请求服务器后七八次后,服务器就无响应,myeclipse控制台也不发hibernate语句,也不报错,不知道是什么原因,请各位前辈指教一下

解决方案 »

  1.   

    检查一下是不是哪里事务没有提交或者自己手动开了session没有关闭
      

  2.   

    1使用的DBCP连接池吧。 默认连接数好像是8个,是不是由于你在isNameRegisted这个方法调用时,没有释放连接,当所有连接都被使用后,处于等待状态。所以会没有反应。 
    2.我觉得很大可能是你的事务没有关闭或者没有提交
        好好检查下你的spring配置文件
      

  3.   

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
    <property name="url" value="jdbc:sqlserver://192.168.1.171:1433;databaseName=WcStoreCell"></property>  
            <!--<property name="url" value="jdbc:sqlserver://127.0.0.1:1435;databaseName=WCStoreCell"></property> --> 
    <property name="username" value="sa"></property>
    <property name="password" value="sasa"></property>
    </bean>
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource"/>
    </property>
    <property name="hibernateProperties">
    <props>
        <!-- 配置方言 -->
    <prop key="hibernate.dialect">
    com.xdcjc.base.PmDb2Dialect
    </prop>
    <prop key="hibernate.show_sql">true
    </prop>
    </props>
    </property>
    <!--配置hibernate二级缓存 -->
    <property name="hibernate.cache.provider_class">
       <value>org.hibernate.cache.EhCacheProvider</value>
           </property>

    <property name="mappingResources">
               <list>
                 <value>com/xdcjc/model/D_Users.hbm.xml</value>
                 <value>com/xdcjc/model/D_Region.hbm.xml</value>
                 <value>com/xdcjc/model/D_Bull.hbm.xml</value>
                 <value>com/xdcjc/model/device.hbm.xml</value>
                 <value>com/xdcjc/model/monitorData.hbm.xml</value>
                 <value>com/xdcjc/model/newMonitorData.hbm.xml</value>
                 <value>com/xdcjc/model/monitorDataDetail.hbm.xml</value>
                 <value>com/xdcjc/model/Productor.hbm.xml</value>
                 <value>com/xdcjc/model/MainCo.hbm.xml</value>
               </list>
    </property>
    </bean>
    <!-- ####  系统管理  ###### -->
      <!-- 1.用户管理 -->
    <bean id="yhglDao" class="com.xdcjc.dao.xtgl.YhglDaoImp" scope="prototype">
      <property name="sessionFactory">
        <ref bean="sessionFactory"/>
      </property>
    </bean>
    <bean id="yhglservice" class="com.xdcjc.service.xtgl.YhglServiceImp" scope="prototype">
      <property name="yhglDao">
        <ref bean="yhglDao"/>
      </property>
    </bean>
    <bean id="YhglAction" class="com.xdcjc.action.xtgl.YhglAction" scope="prototype">
      <property name="yhglservice">
         <ref bean="yhglservice"/>
      </property>
    </bean> 
    <!-- 2.公告管理 -->
    <bean id="ggglDao" class="com.xdcjc.dao.xtgl.GgglDaoImp" scope="prototype">
      <property name="sessionFactory">
        <ref bean="sessionFactory"/>
      </property>
    </bean>
    <bean id="ggglservice" class="com.xdcjc.service.xtgl.GgglServiceImp" scope="prototype">
      <property name="gggldao">
        <ref bean="ggglDao"/>
      </property>
    </bean>
    <bean id="ggglAction" class="com.xdcjc.action.xtgl.GgglAction" scope="prototype">
      <property name="ggglservice">
         <ref bean="ggglservice"/>
      </property>
    </bean> 
    <!-- ####  设备管理  ###### -->
       <!-- 1.地区管理 -->
    <bean id="dqgldao" class="com.xdcjc.dao.xxgl.DqglDaoImp" scope="prototype">
      <property name="sessionFactory">
        <ref bean="sessionFactory"/>
      </property>
    </bean>
    <bean id="dqqlservice" class="com.xdcjc.service.xxgl.DqglServiceImp" scope="prototype">
      <property name="dqgldao">
        <ref bean="dqgldao"/>
      </property>
    </bean>
    <bean id="dqqlaction" class="com.xdcjc.action.xxgl.DqglAction" scope="prototype">
      <property name="dqqlservice">
         <ref bean="dqqlservice"/>
      </property>
    </bean> 
      <!-- 2.监测器管理 -->
    <bean id="sbgldao" class="com.xdcjc.dao.xxgl.SbglDaoImp" scope="prototype">
      <property name="sessionFactory">
        <ref bean="sessionFactory"/>
      </property>
    </bean>
    <bean id="sbglservice" class="com.xdcjc.service.xxgl.SbglServiceImp" scope="prototype">
      <property name="sbgldao">
        <ref bean="sbgldao"/>
      </property>
    </bean>
    <bean id="sbglaction" class="com.xdcjc.action.xxgl.SbglAction" scope="prototype">
      <property name="sbglservice">
         <ref bean="sbglservice"/>
      </property>
    </bean>
      <!-- 3.设备厂商 -->
    <bean id="sbcsdao" class="com.xdcjc.dao.xxgl.SbCsDaoImp" scope="prototype">
      <property name="sessionFactory">
        <ref bean="sessionFactory"/>
      </property>
    </bean>
    <bean id="sbcservice" class="com.xdcjc.service.xxgl.SbCsServiceImp" scope="prototype">
      <property name="sbcsdao">
        <ref bean="sbcsdao"/>
      </property>
    </bean>
    <bean id="sbcsAction" class="com.xdcjc.action.xxgl.SbCsAction" scope="prototype">
      <property name="sbcservice">
         <ref bean="sbcservice"/>
      </property>
    </bean>
        <!-- 4.代维公司 -->
    <bean id="dwdao" class="com.xdcjc.dao.xxgl.DwDaoImp" scope="prototype">
      <property name="sessionFactory">
        <ref bean="sessionFactory"/>
      </property>
    </bean>
    <bean id="dwservice" class="com.xdcjc.service.xxgl.DwServiceImp" scope="prototype">
      <property name="dwdao">
        <ref bean="dwdao"/>
      </property>
    </bean>
    <bean id="dwaction" class="com.xdcjc.action.xxgl.DwAction" scope="prototype">
      <property name="dwservice">
         <ref bean="dwservice"/>
      </property>
    </bean>
    <!-- ####  监测管理  ###### -->
       <!-- 1.最新监测数据 -->
    <bean id="newmonitordao" class="com.xdcjc.dao.jcgl.NewMonitorDaoImp" scope="prototype">
      <property name="sessionFactory">
        <ref bean="sessionFactory"/>
      </property>
    </bean>
    <bean id="newMonitorService" class="com.xdcjc.service.jcgl.NewMonitorServiceImp" scope="prototype">
      <property name="newmonitordao">
        <ref bean="newmonitordao"/>
      </property>
    </bean>
    <bean id="newMonitorAction" class="com.xdcjc.action.jcgl.NewMonitorAction" scope="prototype">
      <property name="newMonitorService">
         <ref bean="newMonitorService"/>
      </property>
    </bean> 
    </beans>
      

  4.   

    上面就是我的spring配置文件,请帮我看看是不是哪里没有配置好
      

  5.   

    呵呵,解决了,把spring主配置里面的datasource的class改成org.springframework.jdbc.datasource.DriverManagerDataSource
    就行了,谢谢各位