0
這是我的hibernate.cfg.xml冬眠太多連接
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.connection.release_mode">after_statement</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.c3p0.maxPoolSize">5</property>
<property name="hibernate.c3p0.maxIdleTime">5</property>
<property name="hibernate.c3p0.maxStatements">1</property>
<property name="hibernate.c3p0.minPoolSize">1</property>
<mapping resource="hbm/Candidati.hbm.xml"/>
<mapping resource="hbm/Comune.hbm.xml"/>
<mapping resource="hbm/ElezioniComuni.hbm.xml"/>
<mapping resource="hbm/Elezioni.hbm.xml"/>
<mapping resource="hbm/Liste.hbm.xml"/>
<mapping resource="hbm/Seggio.hbm.xml"/>
<mapping resource="hbm/Sindaco.hbm.xml"/>
<mapping resource="hbm/Utenti.hbm.xml"/>
<mapping resource="hbm/UtentiElezioni.hbm.xml"/>
<mapping resource="hbm/UtentiSeggio.hbm.xml"/>
<mapping resource="hbm/VotiCandidati.hbm.xml"/>
<mapping resource="hbm/VotiSindaco.hbm.xml"/>
<mapping resource="hbm/Province.hbm.xml"/>
<mapping resource="hbm/Regioni.hbm.xml"/>
<mapping resource="hbm/VotiListe.hbm.xml"/>
<mapping resource="hbm/VotiSpeciali.hbm.xml"/>
</session-factory>
</hibernate-configuration>
這是我的連接類污物我班
package Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class Connessione {
HttpServletRequest request=ServletActionContext.getRequest();
HttpSession session=request.getSession();
SessionFactory factory=(SessionFactory)session.getAttribute("hibernate");
public void connect(){
if(factory==null){
Configuration configuration=new Configuration().configure("hibernate.cfg.xml");
ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
factory=configuration.buildSessionFactory(serviceRegistry);
session.setAttribute("hibernate", factory);
}
}
public SessionFactory getFactory() {
return factory;
}
public void setFactory(SessionFactory factory) {
this.factory = factory;
}
}
方法
public ArrayList<Elezioni> SelectEle(){
conn.connect();
SessionFactory factory = (SessionFactory) session.getAttribute("hibernate");
Session session = factory.openSession();
listaElezioni=new ArrayList<Elezioni>();
listaElezioni =(ArrayList<Elezioni>) session.createQuery("from Elezioni").list();
System.out.println("Taglia:"+listaElezioni.size());
session.close();
return listaElezioni;
}
俄勒班取懶加載客戶。
休眠超過1600行的數據庫表
這是問題的20連接創建了過來。
此代碼
<property name="hibernate.c3p0.maxPoolSize">5</property>
<property name="hibernate.c3p0.maxIdleTime">5</property>
<property name="hibernate.c3p0.maxStatements">1</property>
<property name="hibernate.c3p0.minPoolSize">1</property>
減少連接,但鎖應用的數目。請求休息處於待處理狀態
添加信息。這是Struts2應用程序 我該如何解決這個問題?
請可yoiu解釋更 – ciro
@ciro我更新。 –
我認爲每個用戶都有他的連接是正確的。問題是休眠不會破壞它們。 你如何看待我應該改變連接類來照你說的去做? 謝謝 – ciro