在使用spring 管理cp30数据源的时候,
建了个BaseDAO 用于创建hinetnatefactory的session对象
发现BaseDAO在初始时是可以创建session对象的
但是再次调用时数据源关闭了,无法继续使用session 请问是什么原因
public class BaseDAO {
private SessionFactory sessionFactory;
private DataSource datasource;
public DataSource getDatasource() {
return datasource;
}
public void setDatasource(DataSource datasource) {
System.out.println("datasource--"+datasource.toString());
this.datasource = datasource;
}
public SessionFactory getSessionFactory(){
System.out.println("get SessionFactory---"+sessionFactory);
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory){
System.out.println("sessionFactory--"+sessionFactory.toString());
//上面是有sessionFatory对象的
this.sessionFactory=sessionFactory;
}
public Session getASession(){
System.out.println("session dd " + this.datasource);//这里的datasource为null了
Session session=sessionFactory.openSession();//这里的sessionFactory为null
return session;
}
以下为applicationContext.xml 配置
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
>
<property name="driverClass">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:mysql://localhost:3306/ma</value>
</property>
<property name="user">
<value>root</value>
</property>
<property name="password">
<value>root</value>
</property>
<property name="maxPoolSize">
<value>40</value>
</property>
<property name="minPoolSize">
<value>10</value>
</property>
<property name="initialPoolSize">
<value>10</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource">
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/hibernate/shop/bean/User.hbm.xml</value>
</list>
</property>
<bean id="baseDAO" class="com.hibernate.shop.factory.BaseDAO" scope="singleton">
<property name="sessionFactory" ref="sessionFactory"/>
<property name="datasource" ref="dataSource"/>
</bean>
十分不解~
谢谢~谢谢~