我使用Spring MVC,Hibernate和MySQL构建经理Web项目。当我写代码列出我在数据库中的所有摄政时。它在第一次运行非常快,但是当我重复加载页面(8-10次)时,我的页面只是保持加载模式而没有停止的迹象。首先,我使用MSSQL Server然后我更改为MySQL,没有任何改变,我关闭防火墙,仍然无法正常工作。
这是我的调度程序-servlet.xml:
<mvc:resources mapping="/resources/**" location="/WEB-INF/resources/" cache- period="31556926"/>
<mvc:annotation-driven />
<context:component-scan base-package="com.hinet.storage" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver"
p:viewClass=" org.springframework.web.servlet.view.tiles3.TilesView"/>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"
p:definitions="/WEB-INF/tiles/tiles.xml"/>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/database.properties" />
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.hinet.storage" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.current_session_context_class">thread</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="configurationClass">org.hibernate.cfg.AnnotationConfiguration</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
</props>
</property>
</bean>
这是RengencyDAOImpl:
@Repository("regencyDAO")
@Transactional
public class RegencyDAOImpl extends BaseDAOImpl implements RegencyDAO{
@Override
public List<Regency> getRegencies() {
String sql = "from Regency as re where re.isDelete != true";
Query query = this.openSession().createQuery(sql, Regency.class);
List<Regency> regencies = query.list();
return regencies;
}
}
过去几天这让我很头疼!有谁知道 造成这个问题的原因是什么?
答案 0 :(得分:0)
我认为你耗尽了你的数据源(即在没有关闭连接的情况下打开)。
openSession()
做了什么?我认为它应该像getCurrentSession()
。
如果您打开新会话,则应将其关闭。