连接池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)和类