java代码获取dbcp java代码获取进程号

java中dbcp什么 意思

DataBase Connection Pool,数据库连接池,是apache开发的一个对数据库连接对象的一个封装组件,通过dbcp来管理程序与数据库之间的连接,程序通过dbcp来取得连接而不再直接建立与数据库的连接

成都创新互联公司不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站设计、网站建设质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式成都营销网站建设需求,让再小的高端网站设计也能产生价值!

dbcp连接池配置详解

首先,明确连接、活动连接(连接正被使用)、空闲连接的概念

一、创建连接

1、初始化 2、空闲连接低于最小空闲minIdle

二、销毁连接

1、空闲连接数目高于最大空闲 2、活动连接被遗弃

三、回收行为

1、空闲连接回收器(定时执行)2、连接回收器(maxwait后触发)

initialSize 初始化连接数,即连接池启动时池子中的连接数目

maxActive 最大活动连接数,即连接池中可同时连接的最大数目

minIdle 最小空闲连接,连接池中最少的空闲的连接数,

低于这个数量时,意味着连接不够用了,会被创建新的连接

默认为0,该参数越接近maxIdle,性能越好,因为连接的创建和销毁,都是需要消耗资源的;

不宜太大,因为在机器很空闲的时候,也会创建低于minidle个数的连接,类似于jvm参数中的Xmn设置。

maxIdle 最大空闲连接

超过此参数时空闲连接将被释放,如果设置为负数表示不限制

默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置。

maxIdle 最大空闲连接

超过此参数时空闲连接将被释放,如果设置为负数表示不限制

默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置

maxWait 请求连接时,最长的等待时间。

单位ms,当没有可用连接时,连接池会等待连接释放,超过该时间限制会抛出异常,如果设置-1表示无限等待(默认为无限)。

java 数据库操作DBCP包问题

直接写 myDataSource= BasicDataSourceFactory.createDataSource(prop);

编译会报错么?

另外你使用的dbcp是什么版本?

我的1.4版本是正常的。

java 代码用dbcp 怎么替换

1,连接池创建

BasicDataSource - DataSource

@Override

public Connection getConnection()

【a】createDataSource()

如果dataSource不为空,则返回数据源对象,否则创建之,如下:

【1】createConnectionFactory()

(a)通过配置参数property name="driverClassName" value="${jdbc.driver}" /,加载驱动类Class.forName(driverClassName);

(b)通过配置参数property name="url" value="${jdbc.url}" /,获取驱动DriverManager.getDriver(url);

(c)通过配置参数property name="username" value="${jdbc.username}" /,property name="password" value="${jdbc.password}" /,

以及driver,url,创建数据库连接工厂new DriverConnectionFactory(driver, url, connectionProperties);

【2】createConnectionPool()

(a)通过配置参数:property name="maxActive" value="${dbcp.maxActive}" /

property name="maxIdle" value="${dbcp.maxIdle}" /

property name="minIdle" value="${dbcp.minIdle}" /

等配置项,创建连接池org.apach.commons.pool.impl.GenericObjectPool connectionPool

commons-dbcp本身不创建连接池,通过commons-pool来管理连接池

(b)GenericObjectPool.addObject()中调用下步创建的连接池工厂类,创建连接,并通过addObjectToPool(obj, false);将连接保存在连接池

【4】createPoolableConnectionFactory(driverConnectionFactory, statementPoolFactory, abandonedConfig)

(a)创建连接池工厂类PoolableConnectionFactory,工厂类内部将该工厂设置到上步创建的connectionPool中,这样就可以通过connectionPool中的addObject()调用连接池工厂创建连接

【5】createDataSourceInstance()

(a)根据连接池connectionPool创建池化数据源对象 PoolingDataSource pds = new PoolingDataSource(connectionPool)

【6】初始化连接

for (int i = 0 ; i initialSize ; i++) {

connectionPool.addObject();

}

【7】返回池化数据库连接对象dataSource

【b】getConnection()

【1】_pool.borrowObject();调用【a】-【2】创建的连接池创建连接

(a)_factory.makeObject();调用【a】-【4】创建的连接池工厂类对象,返回new PoolableConnection(conn,_pool,_config);对象

其中PoolableConnection持有【a】-【2】创建的连接池_pool,当PoolableConnection.close()时,该连接会被_pool回收,_pool.returnObject(this);


网站名称:java代码获取dbcp java代码获取进程号
转载注明:http://pwwzsj.com/article/hgeicg.html