zoukankan      html  css  js  c++  java
  • Proxool连接池配置

    1、将数据库链接使用的JDBC库文件和连接池使用的proxool.jar库文件放入项目中

    2、配置proxool.xml文件,新建一个proxool.xml文件放在项目的WEB-INF目录下

     1 <?xml version="1.0" encoding="ISO-8859-1"?>
     2 <!-- the proxool configuration can be embedded within your own application's.
     3 Anything outside the "proxool" tag is ignored. -->
     4 <something-else-entirely>
     5   <proxool>
     6     <alias>public</alias>
     7     <driver-url>jdbc:oracle:thin:@192.168.9.73:1521:oss</driver-url>
     8     <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
     9     <driver-properties>
    10       <property name="user" value="upm"/>
    11       <property name="password" value="upm"/>
    12     </driver-properties>
    13     <maximum-connection-lifetime>600000</maximum-connection-lifetime>
    14     <maximum-connection-count>5</maximum-connection-count>
    15     <house-keeping-test-sql>select CURRENT_DATE FROM dual</house-keeping-test-sql>
    16   </proxool>
    17 </something-else-entirely>

    3、配置web.xml

     1 <! -- 配置初始化servlet,在web容器加载的时候自动加载配置文件 -->
     2 <servlet>
     3     <servlet-name>proxoolServletConfigurator</servlet-name>
     4     <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
     5     <init-param>
     6       <param-name>xmlFile</param-name>
     7       <param-value>WEB-INF/proxool.xml</param-value>
     8     </init-param>
     9     <load-on-startup>1</load-on-startup>
    10 </servlet>
    11 <!--配置监控servlet-->   
    12 <servlet>   
    13       <servlet-name>dbpoolAdmin</servlet-name>    
    14       <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
    15 </servlet>
    16 <servlet-mapping>    
    17       <servlet-name>dbpoolAdmin</servlet-name>    
    18       <url-pattern>/dbpool</url-pattern>
    19 </servlet-mapping>

    4、使用数据库连接池

     1 package com.richinfo.dao.base;
     2 
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 import java.sql.Statement;
     8 
     9 import org.apache.logging.log4j.LogManager;
    10 import org.apache.logging.log4j.Logger;
    11 
    12 public class DBManager {
    13     private static Logger log = LogManager.getLogger(DBManager.class);
    14 
    15     /**
    16      * 默认的数据库链接,链接Oss139 统一位置 管理下的对象
    17      * 
    18      * @return Connection
    19      */
    20     public static Connection getConnection() {
    21 
    22         try {
    23             Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
    24         } catch (ClassNotFoundException e) {
    25             e.printStackTrace();
    26             return null;
    27         } catch (Exception e) {
    28             e.printStackTrace();
    29             return null;
    30         }
    31         Connection conn = null;
    32         try {
    33             conn = DriverManager.getConnection("proxool.public");
    34         } catch (SQLException e) {
    35             e.printStackTrace();
    36             log.error("DBManager getConnection null.{}", e);
    37             return null;
    38         }
    39         return conn;
    40     }
    41 
    42     /**
    43      * 链接指定的 数据库对象
    44      * 
    45      * @param dataBaseName
    46      * 对象名
    47      * @return Connection
    48      */
    49     public static Connection getConnection(String dataBaseName) {
    50 
    51         try {
    52             Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
    53         } catch (ClassNotFoundException e) {
    54             e.printStackTrace();
    55             return null;
    56         } catch (Exception e) {
    57             e.printStackTrace();
    58             return null;
    59         }
    60         Connection conn = null;
    61         try {
    62             conn = DriverManager.getConnection("proxool." + dataBaseName);
    63         } catch (SQLException e) {
    64             e.printStackTrace();
    65             return null;
    66         }
    67         return conn;
    68     }
    69 
    70     public static void close(Connection conn, Statement st, ResultSet rs) {
    71 
    72         try {
    73             if (rs != null)
    74                 rs.close();
    75         } catch (Exception e) {
    76             log.error("DBManager close fail rs. {}", e);
    77         }
    78         ;
    79         try {
    80             if (st != null)
    81                 st.close();
    82         } catch (Exception e) {
    83             log.error("DBManager close fail st. {}", e);
    84         }
    85         ;
    86         try {
    87             if (conn != null)
    88                 conn.close();
    89         } catch (Exception e) {
    90             log.error("DBManager close fail conn. {}", e);
    91         }
    92     }
    93 }
  • 相关阅读:
    JS函数重载解决方案
    JavaScript开发规范
    ASP.Net中表单POST到其他页面的方法
    高效的使用 Response.Redirect
    jQuery性能优化
    百度WebUploader中实现文件上传下载的三种解决方案(推荐)
    WebUploader中实现文件上传下载的三种解决方案(推荐)
    vue中实现文件上传下载的三种解决方案(推荐)
    JavaScript中实现文件上传下载的三种解决方案(推荐)
    ST
  • 原文地址:https://www.cnblogs.com/zhuziyu/p/8890861.html
Copyright © 2011-2022 走看看