`
dowhathowtodo
  • 浏览: 780972 次
文章分类
社区版块
存档分类
最新评论

连接池

 
阅读更多

一:使用数据库连接池可以较好的优化数据库的性能

二:编写连接池需实现java.sql.DataSource接口。DataSource接口中定义了两个重载的getConnection方法:

•Connection getConnection()

•Connection getConnection(String username, String password)

实现DataSource接口,并实现连接池功能的步骤:

•在DataSource构造函数中批量创建与数据库的连接,并把创建的连接加入LinkedList对象中。

•实现getConnection方法,让getConnection方法每次调用时,从LinkedList中取一个Connection返回给用户。

•当用户使用完Connection,调用Connection.close()方法时,Collection对象应保证将自己返回到LinkedList中,而不要把conn还给数据库。

•Collection保证将自己返回到LinkedList中是此处编程的难点。

三:在java中,要对某一方法进行增强的三种方式1,写一个子类,2写一个包装类(包装设计模式),3用动态代理

四:包装设计模式步骤

1写一个类实现与被增强的类相同的接口或父类

2在类中定义一个变量记住需要增强的对象

3定义构造方法,接受被增强对象

4覆盖想增强的方法

5对不想增强的方法直接调用被增强对象的方法

五:DBCP是Apache组织下的开源连接池实现,使用这个数据源,需要Commons-dbcp.jar(连接池的实现) ,Commons-pool.jar(连接池实现的依赖库)

六:c3p0数据源。image

七:tomcat自带连接池,对tomcat进行配置,可以在config的server.xml中配置,或者在contilina下新建content.xml,或者,在当前工程中的META-INF下新建context.xml来配置连接池

八:JNDI---JAVA命名和目录接口,对应于javax.naming包,这种技术主要用于把一个java对象放在一个容器中,并为容器中的java对象取一个名称,如果想获取这个java对象,只需通过名称检索就行,代码如下:

Context initCtx = new InitialContext();

Context envCtx = (Context) initCtx.lookup("java:comp/env");

DataSource ds = (DataSource)envCtx.lookup("jabc/xxx");

九:如何在自己的方法中调用其他方法,可以通过定义一个接口,接受这个接口的参数,让用户实现这个接口传递进来。也就是策略模式

分享到:
评论

相关推荐

    数据库连接池技术详解

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

    连接池案例 连接池案例

    连接池案例

    连接池连接池连接池

    连接池连接池连接池连接池连接池

    Http连接池工具类

    传统的HttpURLConnection并不支持连接池,如果要实现连接池的机制,还需要自己来管理连接对象。对于网络请求这种底层相对复杂的操作,个人以为如果有可用的其他方案,也没有必要自己去管理连接对象。 除了...

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

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

    SpringBoot2.2+commons-pool2实现多Ftp连接池完整项目,开箱即用,经过长期生产使用稳定可靠

    使用JDK1.8、SpringBoot2.2.10.RELEASE、lombok1.18.8、guava23.0、hutool5.3.10、commons-pool2 2.7.0、tika1.22等实现多Ftp连接池实现,通过守护线程实现连接池内连接可用性校验,配置最大、最小连接个数防止Ftp...

    ADO.NET连接池示例

    ADO.NET链接对象(SqlConnection或者OracleConnection)默认情况都开启连接池(平时编程时可能会忽略)。当我们调用Close或者Dispose方法时,实际并不断开连接,而是把连接放回连接池,再次使用时候重连接池中取得...

    R2数据库连接池高性能连接池v1.3

    v1.3改进了清理线程可能出现的减少连接池中链接而不计数的问题。 v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印...

    ftp连接池实例

    经过几天的琢磨,去看了csdn上一位大牛的数据库的连接池实现方案,从中感悟很多,感谢这位大神。 让我才能有信心去坚持下去。也不知道写的好不好··不好的话,大家指出。但是我是努力去做了,这一个过程,很享受,...

    kafka生产者连接池

    封装抽取了一个kafka生产者的连接池,能很好的用池的方式对kafka生产者连接点进行有效的管理

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

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

    数据库连接池配置

    这个文档详细讲述了mysql数据库连接池的配置以及数据库连接池的工作原理。

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

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

    Tomcat6配置连接池

    Tomcat6配置连接池很全面的东东

    okhttp中连接池实现

    代码中包含okhhtp中连接池的设计,包含连接对象的添加,连接对象何时被移除。

    连接池管理连接oracle数据库

    这是用连接池技术管理连接oracle数据库的工具类代码,如果想连接MySQL,直接修改配置文件即可。

    RabbitMQ连接池+SpringBoot实现

    RabbitMQ连接池+SpringBoot实现。通过连接池实现将高效的管理RabbitMQ的Connection,并与springboot进行整合,实现消息发送,获取队列列表等功能。基于此可以进行更多功能的扩充。

    java ftp连接池

    在网上找了好久没有现成的ftp连接池jar包,自己花了一些时间实现了一个简单的连接池,用了一段时间稳定性还可以。

    hibernate连接池.doc

    Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP 在配置连接池时需要注意的有三点: 一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在...

    java 数据库 连接池驱动.rar

    java 数据库 连接池驱动.rar java 数据库 连接池驱动.rar java 数据库 连接池驱动.rar

Global site tag (gtag.js) - Google Analytics