2008-04-26 22:35:40,812 ERROR [org.hibernate.util.JDBCExceptionReporter] - Cannot get a connection, pool error Timeout waiting for idle object 2008-04-26 22:35:40,812 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 0, SQLState: null 2008-04-26 22:35:40,812 ERROR [org.hibernate.util.JDBCExceptionReporter] - Cannot get a connection, pool error Timeout waiting for idle object 2008-04-26 22:35:40,812 ERROR [com.dao.MessageDAO] - find all failed org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Cannot get a connection, pool error Timeout waiting for idle object; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
查询数据时,Spring并不能够自动管理连接,也就是说,在使用中这几句代码重视不段的获取数据库的连接,每调用一次就申请一个连接……直到 tomcat连接池中的连接耗尽……所以就再也申请不到连接了……出现了这个异常,解决办法是使用事务来管理这段代码,让Spring自动管理这段代码中 申请的连接。我使用了Spring AOP自动事务代理……配置文件如下……
<!-- 来自JNDI的tomcat数据源,有连接池。但是用起来怎么就释放不了连接呢?程序只知道申请,不知道释放! --> <bean id="JndiDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>java:comp/env/SqlServer</value> </property> <property name="resourceRef"> <value>true</value> </property> </bean> <!-- hibernate的会话工厂 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="JndiDataSource"></ref> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.SQLServerDialect </prop> <!-- 显示SQL,为了方便测试 --> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="mappingResources"> <list><!-- 映射文件 --> <value>./Message.hbm.xml</value> <value>./Setting.hbm.xml</value> <value>./Admin.hbm.xml</value> </list> </property> </bean> <!-- 事务管理器 --> <bean id="transactionManger" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <!-- 配置事务拦截器--> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager"> <ref bean="transactionManger" /> </property> <!-- 下面定义事务传播属性--> <property name="transactionAttributes"> <props> <prop key="find*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="merge*">PROPAGATION_REQUIRED</prop> <prop key="attach*">PROPAGATION_REQUIRED</prop> <prop key="gotoPage">PROPAGATION_REQUIRED</prop> <!--这里配置的事务管理相当重要, 在数据层所有的方法必须按照上面的格式进行编写--> </props> </property> </bean> <!-- 自动代理 --> <bean id="autoBeanNameProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>*DAO</value> <value>gotoPage</value> <value>find</value> </list> </property> <property name="interceptorNames"> <list> <idref local="transactionInterceptor" /> </list> </property> <!-- 这里的配置是必须的,否则无法完成代理的类型转化 这是使用CGLIB来生成代理 --> <property name="proxyTargetClass" value="true"/> </bean> <bean id="MessageDAO" class="com.dao.MessageDAO"> <property name="sessionFactory"> <ref bean="sessionFactory"></ref> </property> </bean> <bean id="SettingDAO" class="com.dao.SettingDAO"> <property name="sessionFactory"> <ref bean="sessionFactory"></ref> </property> </bean> <bean id="AdminDAO" class="com.dao.AdminDAO"> <property name="sessionFactory"> <ref bean="sessionFactory"></ref> </property> </bean> </beans>
敬请关注 大神网 获取更多 编程资讯
相关推荐
在处理`org.apache.commons.dbcp.BasicDataSource`时,可能会遇到一些常见问题,如配置错误、连接泄漏、性能问题等。下面我们将详细探讨这些问题及其解决方案。 首先,`BasicDataSource`是DBCP库中的核心类,它实现...
在这个特定的错误中,我们看到的是`org.apache.commons.dbcp.BasicDataSource`,这是Apache Commons DBCP库中的一个类,用于管理数据库连接池。这个异常通常意味着在应用的类路径(ClassPath)中没有包含DBCP的jar...
总之,要解决`java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource`的问题,你需要确保你的项目正确包含了Apache Commons DBCP及其相关依赖,并正确配置了`BasicDataSource`。同时,了解...
apache出品,用来取代老旧的dbcp
com.springsource.org.apache.commons.dbcp-sources-1.2.2.osgi.jar源码 jar包
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 出现异常原因,缺少数据库连接jar
然而,对于初学者来说,遇到错误是常有的事,比如“java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource”。这个异常表明在运行时,系统无法找到指定的类,即Apache Commons DBCP的...
com.springsource.org.apache.commons.dbcp_1.2.2.osgi.jar
本篇将详细探讨如何解决在Struts框架中遇到的`java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource`异常。 `org.apache.commons.dbcp.BasicDataSource`是Apache Commons DBCP库中的一个类...
commons-pool-1.3.jar commons-net-3.0.jar commons-logging-api-1.1.jar commons-logging-1.0.4.jar commons-lang-2.1.jar commons-io-1.3.2.jar commons-httpclient-3.0.jar commons-fileupload-1.2.1.jar commons...
资源包"org.apache.commons.dbcp"包含了这个库的相关源代码,方便开发者深入理解和定制。 在Java应用中,数据库连接的创建和关闭是非常耗时的操作。DBCP通过维持一个连接池,避免了每次操作数据库都需要创建新的...
包含: ...com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar, com.springsource.org.apache.commons.httpclient-3.1.0.jar, com.springsource.org.apache.commons.io-1.4.0.jar, ...
com.springsource.org.apache.commons.beanutils-1.8.0.jar, com.springsource.org.apache.commons.collections-3.2.1.jar, com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar, ...
DBCP(Database Connection Pool)是Apache的一个开源项目,提供了一个基于Java的数据源连接池实现。在上述问题中,应用程序遇到了由于连接池不合理的锁机制导致的连接耗尽问题,表现为无法从连接池获取新的数据库...
java中DBCP数据库连接池使用方法以及代码文件:(dbcpconfig.properties+JdbcPool_dbcp.java)以及jjdbc所需的ar包(commons-pool.jar+commons-dbcp-1.2.2.jar)
org.apache.commons 系列的 JAR集合,用以解决异常,包含内容如下: commons-cli-1.0 commons-codec-1.3 commons-collections-3.1 commons-dbcp commons-digester commons-discovery-0.2 commons-fileupload-1.2.1 ...
这个压缩包“org.apache.servicemix.bundles.spring-jdbc-4.0.2.RELEASE_1.zip”包含的是Apache ServiceMix集成的Spring JDBC模块的一个特定版本,即4.0.2.RELEASE_1。Spring JDBC是Spring框架的一个关键部分,专门...
The JDBC Connection Pool org.apache.tomcat.jdbc.pool is a replacement or an alternative to the commons-dbcp connection pool.
Maven坐标:org.apache.commons:commons-pool2:2.10.0; 标签:apache、commons、pool2、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译...