`
ghostwh
  • 浏览: 1917 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

请教关于大数据量高频率批量插入数据库操作时数据库连接池连接使用问题

DB2 
阅读更多
我们的系统是做信息数据采集的,将所有采集的数据存库,但是数据量是非常大的一天能够达到上千万的数据入库,在处理的过程中数据库连接使用过程中经常会出现一些问题,我使用的是C3P0的连接池,连接数给到20个用到一段时间后大概在几个小时就会出现如下异常信息
18/12/2007 11:56:44 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$ PoolThread-#2] com.mchange.v2.c3p0.impl.NewPooledConnection -com.mchange.v2.c3p0.impl.NewPooledConnection@b4e29 b closed by a client.
java.lang.Exception: DEBUG -- CLOSE BY CLIENT STACK TRACE
at com.mchange.v2.c3p0.impl.NewPooledConnection.close (NewPooledConnection.java:491)
at com.mchange.v2.c3p0.impl.NewPooledConnection.close (NewPooledConnection.java:191)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$ 1PooledConnectionResourcePoolManager.destroyResour ce(C3P0PooledConnectionPool.java:470)
at com.mchange.v2.resourcepool.BasicResourcePool$1Des troyResourceTask.run(BasicResourcePool.java:964)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$ PoolThread.run(ThreadPoolAsynchronousRunner.java:5 47)
18/12/2007 11:56:44 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$ PoolThread-#2] com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool -Successfully destroyed PooledConnection: com.mchange.v2.c3p0.impl.NewPooledConnection@b4e29 b
18/12/2007 11:56:44 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$ PoolThread-#2] com.mchange.v2.resourcepool.BasicResourcePool -Successfully destroyed resource: com.mchange.v2.c3p0.impl.NewPooledConnection@b4e29 b
18/12/2007 11:56:44 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$ PoolThread-#2] com.mchange.v2.resourcepool.BasicResourcePool -Preparing to destroy resource: com.mchange.v2.c3p0.impl.NewPooledConnection@50988
18/12/2007 11:56:44 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$ PoolThread-#2] com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool -Preparing to destroy PooledConnection: com.mchange.v2.c3p0.impl.NewPooledConnection@50988
18/12/2007 11:56:44 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$ PoolThread-#2] com.mchange.v2.c3p0.impl.NewPooledConnection -com.mchange.v2.c3p0.impl.NewPooledConnection@50988 closed by a client.
java.lang.Exception: DEBUG -- CLOSE BY CLIENT STACK TRACE




出现上面的异常信息后我的连接数由20个变成了5个,上网查了也没有什么具体的说法请教各位知道不知道这个问题的原因是什么。我用的数据库是DB2 9.7
分享到:
评论

相关推荐

    C# 数据库连接池 C# 数据库连接池

    C#数据库连接池是一种管理数据库连接的技术,通过复用已存在的连接而不是每次请求时都创建新的连接,从而提高数据库操作的性能和效率。本文将深入探讨C#中数据库连接池的工作原理、实现方式以及最佳实践。 ### ...

    数据库连接池技术详解

    对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。 在较为完备的数据库连接池实现中,可根据...

    C#高效数据库连接池源码

    数据库连接池是数据库管理中的重要概念,特别是在高并发和大数据量的应用场景下,它能显著提升性能并降低系统资源消耗。在C#编程环境中,我们可以使用自定义的数据库连接池来实现这一功能。本篇文章将深入探讨“C#...

    c# mysql数据库连接池实现

    数据库连接池是一种资源管理技术,它预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕后归还而不是直接关闭,从而减少了频繁创建和销毁连接的开销。在.NET Core中,对于MySQL数据库...

    常用jdbc数据库连接jar包,数据库连接池jar包

    数据库连接池在初始化时会创建一定数量的数据库连接并保存起来,当应用程序需要连接时,可以从池中获取一个已存在的连接,而不是每次都去新建,用完后也不立即关闭,而是归还给连接池。这样可以显著减少建立和释放...

    nodejs封装好的mysql数据库模块,带mysql连接池以及百万测试数据

    7. **最佳实践**:在实际应用中,除了基本的数据库操作,还需要考虑错误处理、事务管理、性能优化(如批量插入、索引优化)等问题。此外,数据库连接池的大小也需要根据服务器资源和应用需求进行适当调整。 综上所...

    Qt 多线程连接数据库——数据库连接池

    * 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接...

    数据库连接池代码实现

    数据库连接池是现代应用程序开发中的重要组成部分,尤其是在处理大量数据交互的应用中,它极大地提高了数据库操作的效率和系统的稳定性。数据库连接池的概念是预先创建并维护一定数量的数据库连接,这些连接可以被多...

    03-数据库连接池驱动_数据库连接池;驱动_

    数据库连接池是现代应用程序开发中的重要组成部分,尤其是在处理大量数据交互的应用中,它极大地提高了数据库操作的效率和系统的稳定性。本资源"03-数据库连接池驱动"包含了三种常用的数据库连接池驱动:C3P0、Druid...

    JAVA多线程实现数据库之间的数据互导、连接池、及多表插入数据库功能

    通过以上知识的学习和实践,开发者可以熟练地在Java环境中实现多线程数据互导,高效使用数据库连接池,以及进行多表插入操作,提升系统的并发处理能力和性能。在实际工作中,还需要根据具体需求和场景,灵活运用这些...

    轻量级java数据库连接池

    - **连接获取**:当需要执行数据库操作时,应用程序从连接池中申请一个连接,而不是直接创建新的连接。这样避免了频繁创建和销毁连接的开销。 - **连接使用与释放**:使用完连接后,程序应将其归还给连接池,而...

    JAVA 使用数据库连接池连接Oracle数据库全代码

    ### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...

    使用连接池来进行数据库连接的具体步骤

    在IT行业中,数据库连接是应用系统与数据存储交互的基础,而使用连接池是优化数据库访问性能和资源管理的重要手段。连接池技术允许应用程序重复使用已建立的数据库连接,避免了频繁创建和销毁连接带来的开销。本文将...

    数据库连接池管理策略

    在ADO.NET中,DataSet、DataTable、DataColumn、DataRow和DataRelation等对象用于构建和操作数据,但实际的数据库连接管理则由连接池负责。当应用程序需要数据库连接时,它并不直接创建新的连接,而是从连接池中获取...

    数据库连接池java代码实现

    在上述代码中,我们使用了`LinkedList`来存储连接,因为它的插入和删除操作效率较高。`getConnection()`方法负责从池中获取连接,如果池中没有空闲连接且总连接数未达到最大值,就创建新的连接;`returnConnection()...

    Struts框架中使用数据库连接池

    数据库连接池预先创建并维护一定数量的数据库连接,当应用程序需要访问数据库时,可以从连接池中获取一个空闲的连接,使用完毕后归还给连接池,而不是关闭连接。这种方式可以显著减少创建和销毁连接的次数,提高应用...

    weblogic连接池配置数据库断掉重连的问题

    Weblogic 连接池配置数据库断掉重连的问题 在 Weblogic 中,连接池配置数据库断掉重连是一个非常重要的问题。连接池配置是 Weblogic 中的一种机制,用于管理与数据库的连接。然而,在实际应用中,我们经常会遇到...

    C# 数据库连接池

    数据库连接池是数据库管理系统中的一个重要概念,主要用于优化数据库的连接操作。在C#编程中,数据库连接池可以高效地管理数据库连接,避免频繁创建和销毁连接导致的性能开销。本文将详细介绍C#中数据库连接池的工作...

Global site tag (gtag.js) - Google Analytics