报的是这几个错:1,javax.servlet.ServletException: org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection,
2,org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection
3,org.hibernate.exception.GenericJDBCException: Cannot open connection
4,org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Data source rejected establishment of connection, message from server: "Too many connections")
5,com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"连接总是关闭不了。用着用着就无法连接了。高手帮我看看啊,我怎么找也找不出问题,,类是用extends HibernateDaoSupport的方法写的,用的是getHibernateTemplate()。我实在找不出问题所在,高手帮帮我。以下是我的配置文件。<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/shop</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>nbsp</value></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">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>emp/shop/model/User.hbm.xml</value>
<value>emp/shop/model/Orders.hbm.xml</value>
<value>emp/shop/model/PayType.hbm.xml</value>
<value>emp/shop/model/OrderItem.hbm.xml</value>
<value>emp/shop/model/Product.hbm.xml</value>
<value>emp/shop/model/ProductType.hbm.xml</value>
<value>emp/shop/model/SiteHit.hbm.xml</value>
<value>emp/shop/model/Manager.hbm.xml</value>
<value>emp/shop/model/Advice.hbm.xml</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- ************************以下代码为对用户操作的事务处理*********************** --> <bean id="userDaoImpl"
class="emp.shop.dao.UserDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="userDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="userDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对产品操作的事务处理*********************** --> <bean id="productDaoImpl"
class="emp.shop.dao.ProductDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="productDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="productDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对付款方式操作的事务处理*********************** --> <bean id="payTypeDaoImpl"
class="emp.shop.dao.PayTypeDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="payTypeDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="payTypeDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对订单操作的事务处理*********************** --> <bean id="orderDaoImpl"
class="emp.shop.dao.OrderDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="orderDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="orderDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对订单项操作的事务处理*********************** --> <bean id="orderItemDaoImpl"
class="emp.shop.dao.OrderItemDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="orderItemDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="orderItemDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对商品类型操作的事务处理*********************** --> <bean id="productTypeDaoImpl"
class="emp.shop.dao.ProductTypeDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="productTypeDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="productTypeDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对商品类型操作的事务处理*********************** --> <bean id="siteHitDaoImpl"
class="emp.shop.dao.SiteHitDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="siteHitDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="siteHitDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对管理员操作的事务处理*********************** --> <bean id="managerDaoImpl"
class="emp.shop.dao.ManagerDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="managerDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="managerDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对投诉操作的事务处理*********************** --> <bean id="adviceDaoImpl"
class="emp.shop.dao.AdviceDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="adviceDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="adviceDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
</beans>
2,org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection
3,org.hibernate.exception.GenericJDBCException: Cannot open connection
4,org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Data source rejected establishment of connection, message from server: "Too many connections")
5,com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"连接总是关闭不了。用着用着就无法连接了。高手帮我看看啊,我怎么找也找不出问题,,类是用extends HibernateDaoSupport的方法写的,用的是getHibernateTemplate()。我实在找不出问题所在,高手帮帮我。以下是我的配置文件。<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/shop</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>nbsp</value></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">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>emp/shop/model/User.hbm.xml</value>
<value>emp/shop/model/Orders.hbm.xml</value>
<value>emp/shop/model/PayType.hbm.xml</value>
<value>emp/shop/model/OrderItem.hbm.xml</value>
<value>emp/shop/model/Product.hbm.xml</value>
<value>emp/shop/model/ProductType.hbm.xml</value>
<value>emp/shop/model/SiteHit.hbm.xml</value>
<value>emp/shop/model/Manager.hbm.xml</value>
<value>emp/shop/model/Advice.hbm.xml</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- ************************以下代码为对用户操作的事务处理*********************** --> <bean id="userDaoImpl"
class="emp.shop.dao.UserDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="userDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="userDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对产品操作的事务处理*********************** --> <bean id="productDaoImpl"
class="emp.shop.dao.ProductDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="productDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="productDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对付款方式操作的事务处理*********************** --> <bean id="payTypeDaoImpl"
class="emp.shop.dao.PayTypeDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="payTypeDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="payTypeDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对订单操作的事务处理*********************** --> <bean id="orderDaoImpl"
class="emp.shop.dao.OrderDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="orderDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="orderDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对订单项操作的事务处理*********************** --> <bean id="orderItemDaoImpl"
class="emp.shop.dao.OrderItemDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="orderItemDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="orderItemDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对商品类型操作的事务处理*********************** --> <bean id="productTypeDaoImpl"
class="emp.shop.dao.ProductTypeDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="productTypeDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="productTypeDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对商品类型操作的事务处理*********************** --> <bean id="siteHitDaoImpl"
class="emp.shop.dao.SiteHitDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="siteHitDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="siteHitDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对管理员操作的事务处理*********************** --> <bean id="managerDaoImpl"
class="emp.shop.dao.ManagerDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="managerDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="managerDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
<!-- ************************以下代码为对投诉操作的事务处理*********************** --> <bean id="adviceDaoImpl"
class="emp.shop.dao.AdviceDaoImpl">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="adviceDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="adviceDaoImpl" />
</property> <property name="transactionManager">
<ref local="transactionManager" />
</property> <property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
</property>
</bean>
</beans>
<ref local="transactionManager" />
</property><property name="transactionAttributes">
<props>
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>
看上去有点别扭
配置一个就行了。。后面的可以直接引用。。
如: <bean id="hibernateServiceProxy" parent="userDaoProxy">
<property name="target">
<list>
<ref bean="xx1Service" />
<ref bean="xx2Service" />
<ref bean="xx3Service" />
...
</list>
</property>
</bean>
import emp.shop.model.ProductType;public class ProductTypeDaoImpl extends HibernateDaoSupport implements IProductTypeDao { public void addProductType(ProductType productType) {
this.getHibernateTemplate().save(productType);
} public void deleteProductType(ProductType productType) { this.getHibernateTemplate().delete(productType);
} public void modifyProductType(ProductType productType) { this.getHibernateTemplate().update(productType);
} public List<ProductType> queryProductType() {
List productTypeList=this.getHibernateTemplate().find("from ProductType");
return productTypeList;
} public ProductType queryProductTypeById(int product_type_id) {
List productTypeList = this.getHibernateTemplate().find("from ProductType where product_type_id=" +product_type_id);
ProductType productType = null; if(productTypeList.size() == 1) {
productType = (ProductType)productTypeList.get(0);
}
return productType;
}}
然后你很多冗余的配置, 并且hibernateTemplate是自动管理连接的。
甚至可以通过改变mysql端口来调试
<prop key="add*"></prop>
<prop key="delete*"></prop>
<prop key="modify*"></prop>
<prop key="query*"></prop>
</props>可以只需要用一个就可以了 不需要每一个都配一下。