zoukankan      html  css  js  c++  java
  • Java Proxool 源代码分析

    入口点:ProxoolFacade. 

    启动顺序:

    ProxoolDriver ->  ProxoolFacade.registerConnectionPool ->

    调用顺序

    ProxoolDriver.connect ->  ConnectionPoolManager.getConnectionPool -> connectionPool.getConnection

    -> ProxyConnection  = prototyper.buildConnection -> proxyConnection.open();

    ->  ProxyFactory.getWrappedConnection(proxyConnection)

    -> WrappedConnection

    之后的调用都使用了proxy模式

    关闭链接:

    WrappedConnection -> close -> proxyConnection.close() 

    ->  openStatements.close -> connectionPool.removeProxy

    真正关闭链接:

    HouseKeeper ->  connectionPool.removeProxyConnection ->   CompositeConnectionListener.onDeath ->

    ConnectionListenerIF.onDeath

     proxyConnection.reallyClose(); 

    proxyConnections.remove(proxyConnection); 

    ----------------------------------

    连接池设计原则:

    1. 当没有请求的时候,连接池=0

    2. 当有稳定的请求的时候,通过复用connection提高性能。

    3. 当突然爆发链接的时候,增加连接池能力

    4. 当高峰期过后,能够自动减少连接池能力。

    5. 当connection开启了事务之后,这个链接被独占了,无法被分配。


    http://www.zhujiangroad.com/html/soft/s2928.html 

    基于JDBC的数据库连接池技术研究与设计 

    。 连接添加一个引用计数器

    。当用户closeconnection 的时候,判断引用次数》规定?是就删除;判断是否》最小连接数?小于就放回;否则删除。

    。每个事务独占一个connection 

  • 相关阅读:
    懒懒的~~
    BigDecimal,注解
    遇到的一点问题些
    npm一点点
    TortoiseSvn问题研究(一)
    关于maven-基本
    HttpServletRequest二三事
    学习迭代1需求分析
    FMDB简单使用
    计算机中的事务、回滚
  • 原文地址:https://www.cnblogs.com/zc22/p/1775263.html
Copyright © 2011-2022 走看看