连接池Connection Pool 单例设计
生活随笔
收集整理的这篇文章主要介绍了
连接池Connection Pool 单例设计
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
连接池单例模式
1.私有化ComboPooledDataSource将其作为属性,使其实现单例
2.DataSourceFactory实现懒汉模式,这样作为属性的连接池cpds也就变为了单例
3.从连接池中获取连接Connection
代码如下:
package com.tcb.dao.uitls;import java.sql.Connection;import com.mchange.v2.c3p0.ComboPooledDataSource;/** 连接池单例模式* * 1.私有化ComboPooledDataSource将其作为属性,使其实现单例* 2.DataSourceFactory实现懒汉模式,这样作为属性的连接池cpds也就变为了单例* 3.从连接池中获取连接Connection*/ public class DataSourceFactory {//1.私有化ComboPooledDataSource将其作为属性,使其实现单例private ComboPooledDataSource cpds;//2.DataSourceFactory实现懒汉模式//2.1私有化构造方法--并初始化cpdsprivate DataSourceFactory() {cpds = new ComboPooledDataSource("c3p0-config");}//2.2 私有化属性private static DataSourceFactory sFactory = null;//2.3 返回SessionFactory单例public static DataSourceFactory getSessionFactoryInstance() {if (sFactory == null) {sFactory = new DataSourceFactory();}return sFactory;}//3.从连接池中获取连接Connectionpublic Connection getSession() throws Exception {System.out.println("cpsd========="+cpds);Connection connection = cpds.getConnection();System.out.println("connection========="+connection);return connection;}public static void main(String[] args) {//测试DataSourceFactory dataSourceFactory=DataSourceFactory.getSessionFactoryInstance();DataSourceFactory dataSourceFactory2=DataSourceFactory.getSessionFactoryInstance();try {dataSourceFactory.getSession();dataSourceFactory.getSession();dataSourceFactory.getSession();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}} }测试结果:
总结
以上是生活随笔为你收集整理的连接池Connection Pool 单例设计的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Junit单元测试遇到的initiali
- 下一篇: 深入浅出谈接口(interface)和类