<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    葉明的javablog

    java學習天堂,個人關于其他blog:blog.javaworker.cn,歡迎大家訪問
    posts - 64, comments - 50, trackbacks - 0, articles - 3

    由于在JAVA自動獲得新聞,沒有建立web的環境,將建立的服務器放置在一臺服務器上,數據庫放在另一臺服務器上,結果造成使用JDBC速度緩慢,因此修改成連接池:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    import org.apache.commons.dbcp.ConnectionFactory;
    import org.apache.commons.dbcp.DriverManagerConnectionFactory;
    import org.apache.commons.dbcp.PoolableConnectionFactory;
    import org.apache.commons.dbcp.PoolingDriver;
    import org.apache.commons.pool.ObjectPool;
    import org.apache.commons.pool.impl.GenericObjectPool;
    import org.apache.log4j.Logger;

    /**
     * @author Administrator
     *
     */
    public class DBConnectionFactory {
     /**
      * Logger for this class
      */
     private static final Logger logger = Logger
       .getLogger(DBConnectionFactory.class);

     private static ObjectPool connectionPool=null;
     private static String sqlJdbc = "";
        private static String sqlUser = "";
        private static String sqlPwd = "";
        @SuppressWarnings("unchecked")
     private static Class driverClass=null;


        public static void proDBConnectionFactory(){
         if(sqlJdbc.equals("")){
          sqlJdbc = "jdbc:jtds:sqlserver://27.0.0.1:1433/finance;tds=8.0;lastupdatecount=true";
         }
         if(sqlUser.equals("")){
          sqlUser = "sa";
         }
         if(sqlPwd.equals("")){
          sqlPwd = "11111";
         }
         initDataSource();
        }
         public synchronized static void initDataSource(){
          if(driverClass == null){
           try {
        driverClass = Class.forName("net.sourceforge.jtds.jdbc.Driver");
       } catch (ClassNotFoundException e) {
        logger.error("在注冊驅動名稱的時間發生錯誤:"+e.getMessage(),e);
       }
          }
          if(connectionPool == null){
           setupDriver(sqlJdbc);
           //printDriverStats();
          }else{
           System.out.print("連接池已經存在");
          }
          try {
                // printDriverStats();
             } catch (Exception e) {
                 e.printStackTrace();
             }  
         }
        
         public static Connection getConn(){
          proDBConnectionFactory();
          Connection conn = null;
          try {
                 conn = DriverManager.getConnection("jdbc:apache:commons:dbcp:FinanceDBPool");
             } catch(SQLException e) {
                 e.printStackTrace();
             }
             return conn;

         }
        
         public static void printDriverStats() throws Exception {
             PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:");
             ObjectPool connectionPool = driver.getConnectionPool("FinanceDBPool");
             System.out.println("活動的連接: " + connectionPool.getNumActive());
             System.out.println("空閑的連接: " + connectionPool.getNumIdle());
         }

        
         public static void setupDriver(String connectURI){
          try {
       connectionPool = new GenericObjectPool(null);
        ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI,sqlUser,sqlPwd);
        @SuppressWarnings("unused")
       PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory,connectionPool,null,null,false,true);
        Class.forName("org.apache.commons.dbcp.PoolingDriver");
        PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:");
        //driver.registerPool("FinanceDBPool",connectionPool);
        driver.registerPool("FinanceDBPool",connectionPool);

      } catch (ClassNotFoundException e) {
       logger.error("注冊連接池的時間發生錯誤:"+e.getMessage(),e);
      } catch (SQLException e) {
       logger.error("注冊連接池的時間發生錯誤:"+e.getMessage(),e);
      }
         }
     

    主站蜘蛛池模板: 亚洲人成77777在线播放网站不卡| 亚洲乱码无码永久不卡在线| 亚洲一卡二卡三卡四卡无卡麻豆| 精品成人免费自拍视频| 亚洲国产成人五月综合网| 国产偷国产偷亚洲高清在线| 日韩成人在线免费视频| 亚洲色偷偷色噜噜狠狠99网| 一个人免费高清在线观看| 亚洲精品综合在线影院| 免费精品国产自产拍在线观看图片| 亚洲无圣光一区二区| 我们的2018在线观看免费高清| 亚洲理论片在线观看| 天天影视色香欲综合免费| 亚洲另类春色国产精品| 在线看片无码永久免费视频| 中文字幕在线观看亚洲日韩| 成人永久福利免费观看| 人人公开免费超级碰碰碰视频| 亚洲中文字幕无码一久久区| 久久免费观看国产精品88av| 亚洲乱码卡三乱码新区| 国产黄色片在线免费观看| 色多多A级毛片免费看| 亚洲成亚洲乱码一二三四区软件| 亚洲成人免费网址| 亚洲AV成人无码久久WWW| 久久亚洲2019中文字幕| 99热精品在线免费观看| 久久亚洲精品成人无码| 亚洲一区二区三区偷拍女厕| 麻豆国产精品免费视频| 美女露100%胸无遮挡免费观看 | 亚洲AV第一成肉网| 国产AV无码专区亚洲AWWW| 最近免费最新高清中文字幕韩国 | 免费日本一区二区| 亚洲91精品麻豆国产系列在线| 国产免费卡一卡三卡乱码| a级午夜毛片免费一区二区|