`

最近weblogic用的起来老是数据库连接池被耗尽

    博客分类:
  • work
阅读更多
只要connection没有被close就一定会发生connection leak。先前我对此也是笃信不疑。直到有一次我在作系统压力测试时碰巧发现没有close掉的connection居然没发生leak,这让我很吃惊。于是专门做了一个实验来验证没有close的connection是否可以被GC回收。下面就把这个简单的试验说一下:

先写一个很简单的jsp,从pool中申请connection,把申请出的connection存放在jsp的局部变量中,用完后不关它。然后用类似LR压力测试工具录制一段简单脚本,制造若干并发去访问这个页面,或者干脆就使劲刷新这个jsp,然后观察WLS connection pool的状态,看看connection是不是一会就分配不出来了?答案是,connection pool没发生leak,connection一直可以从pool中申请出来。

让我们分析一下,为什么connection没有发生leak。
当GC发现connection对象已经没有被别的对象引用时,就把它当“垃圾”回收了。在connection被destroy掉的时候,应该是connection的finalize方法对connection是否close做了判断,如果没有close,那就close这个connection,于是pool回收了这个Connection。

由于不清楚WebLogic关于Connection pool的实现机制,上述connection回收过程的具体流程实属臆测,但有一点可以肯定,connection确实是被pool回收了。

做完这个实验很惭愧,惭愧的是把SUN和BEA想的太简单了,其实BEA聪明的利用了看似很傻的GC实现了资源的回收,呵呵。


分享到:
评论

相关推荐

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

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

    在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试

    ### 在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试 #### 摘要 本文将详细介绍如何在WebLogic Platform 8.1控制台中设置Oracle 9i、SQL Server 和 JDataStore 数据库连接池以及如何在应用程序中获取...

    在MyEclipse中使用Weblogic数据库连接池技术

    ### 在MyEclipse中使用Weblogic数据库连接池技术 #### 一、概述 本文将详细介绍如何在MyEclipse环境中配置并使用Weblogic数据库连接池技术。通过本教程,您将了解整个配置流程,并掌握如何利用Java命名与目录接口...

    weblogic配置sql数据连接池

    SQL数据连接池是WebLogic Server中的一个重要组件,用于优化数据库连接的创建、分配和管理,从而提高系统性能和资源利用率。本文将详细介绍如何在WebLogic中配置SQL数据连接池。 一、数据连接池的作用 数据连接池是...

    weblogic+Oracle数据库连接池的配置

    ### WebLogic与Oracle数据库连接池配置详解 #### 一、WebLogic Server 7.0 + Oracle JDBC Pool/DataSource配置步骤 在进行WebLogic Server 7.0与Oracle数据库的连接池配置时,需要确保以下几个方面的正确设置: #...

    Java-jdbc数据库连接池总结.doc

    连接池如同一个预创建的数据库连接集合,应用程序在需要时从池中获取连接,用完后归还,而不是直接关闭。这种方式减少了连接的创建和销毁次数,提高了系统性能,并且可以通过设置最大连接数来防止过度消耗资源。 ...

    weblogic与oracle数据库通过连接池连接及测试代码

    以上内容覆盖了 WebLogic 与 Oracle 数据库连接的基本原理、连接池配置参数详解以及使用 Java 进行连接测试的具体方法,并简要介绍了 JSF 1.2 在 MyEclipse 中的配置流程。希望这些信息能够帮助您更好地理解和操作 ...

    Java中数据库连接池原理机制的详细讲解.pdf

    当应用程序需要访问数据库时,可以直接从连接池中获取一个空闲连接,使用完毕后将连接归还到连接池而不是关闭它。这种方式避免了频繁创建和销毁连接所带来的开销,同时也能够有效地控制数据库连接的数量。 #### 三...

    在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试.pdf

    ### WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试 #### 摘要 本文档旨在探讨如何在WebLogic Platform 8.1控制台中设置Oracle 9i、SQL Server、JDataStore等数据库的连接池,并介绍如何在实际应用中...

    weblogic配置数据库连接

    1、weblogic数据源的配置,2、数据库连接配置,3、jndi连接方式配置

    数据库连接池的原理机制学习

    这种方式不仅可以减少系统与数据库之间建立连接的次数,还可以通过连接池的管理机制监控连接的使用情况,帮助开发者更好地理解和优化系统的性能。 #### 二、服务器自带的连接池 虽然JDBC API本身并未直接提供连接...

    数据库连接池技术及其在WeblogicServer中的配置

    ### 数据库连接池技术及其在WeblogicServer中的配置 #### 引言 在现代Web应用开发中,数据库作为数据存储的核心组件,其访问性能直接影响着整个应用系统的响应时间和稳定性。传统上,通过JDBC(Java Database ...

    weblogic连接池配置

    weblogic连接池配置说明, weblogic8.1连接池配置及简单优化

    weblogic数据源连接池

    总结起来,WebLogic数据源连接池是实现高效、稳定数据库连接的关键,通过合理的配置和管理,可以极大地提高系统的响应速度和资源利用率,同时降低数据库的压力。在实际操作中,根据应用的需求和环境,不断调整和优化...

    数据库的连接池原理,基本概念及原理,服务器自带的连接池

    1. 连接池的基本概念及原理:数据库连接池的基本思想是为数据库连接建立一个“缓冲池”,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。...

    探析Java数据库连接池运行原理.pdf

    "探析Java数据库连接池运行原理.pdf" 本文探讨了Java数据库连接池的运行原理,探究了连接池的工作原理、程序实现和优点。连接池是一种技术,用于解决数据库连接的频繁分配和释放问题,提高系统性能。 数据库连接池...

    数据库连接池技术在分布式系统中的应用研究.pdf

    在本文中,作者才让卓玛通过使用WebLogic技术实现了数据库连接池技术,并对其用法进行了说明。WebLogic是一个流行的应用服务器平台,它提供了一套完整的中间件解决方案。利用WebLogic中的连接池技术,可以在WebLogic...

Global site tag (gtag.js) - Google Analytics