051、数据源和池化

Par @Martin dans le
Tags :

    Java 中的数据源是一种类似内存池的技术, 即一次性创建多个连接并保存在池内, 需要的时候从中获取一个连接, 用完了再放回池.

    Java 定义了数据源的规范, 即 DataSource 接口:

    • DataSource 用来取代 DriverManager 来获取 Connection
    • DataSource 内部通过连接池 (Connection Pool) 来维护数据库连接
    • 从 Connection Pool 中获取的 “连接” 并不是原生的 Connection, 而是它的包装, 主要将 close 方法被修改为将 Connection 放回 Pool (而不是直接关闭 Connection)

    由于 DataSource 是个接口, 所以要想使用它, 必须得先实现它, 当然已经有很多现实的实现:

    • apache: DBCP (Data Base Connection Pool)
    • mchange: c3p0