proxool代码创建数据库连接与获取监控状态
来源:互联网 发布:淘宝五元 编辑:程序博客网 时间:2024/06/01 17:05
proxool代码创建数据库连接与获取监控状态
package com.originalsoft.Test; import java.net.URL;import java.sql.*;import org.logicalcobwebs.proxool.ProxoolException;import org.logicalcobwebs.proxool.ProxoolFacade;import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;import org.logicalcobwebs.proxool.admin.SnapshotIF; /** * @author tank * @date:Apr 15, 2013 6:14:08 PM * @description: * @version : */public class DBConnection { private static boolean initialized = false; private static int activeCount = 0; public static void state()throws ProxoolException{ SnapshotIF snapshot = ProxoolFacade.getSnapshot("mySqlProxool",true); int curActiveCount = snapshot.getActiveConnectionCount();// 获得活动连接数 int availableCount = snapshot.getAvailableConnectionCount();// 获得可得到的连接数 int maxCount = snapshot.getMaximumConnectionCount();// 获得总连接数// if (curActiveCount != activeCount)// 当活动连接数变化时输出信息// { System.out.println("----------------------------------"); System.out.println(curActiveCount + "(active) " + availableCount + "(available) " + maxCount + "(max)"); System.out.println("----------------------------------"); activeCount = curActiveCount;// } } public static Connection getConnection() throws SQLException { Connection connection = null; if (!initialized) { init(); } connection = DriverManager.getConnection("proxool.mySqlProxool"); try { SnapshotIF snapshot = ProxoolFacade.getSnapshot("mySqlProxool",true); int curActiveCount = snapshot.getActiveConnectionCount();// 获得活动连接数 int availableCount = snapshot.getAvailableConnectionCount();// 获得可得到的连接数 int maxCount = snapshot.getMaximumConnectionCount();// 获得总连接数 if (curActiveCount != activeCount)// 当活动连接数变化时输出信息 { System.out.println("----------------------------------"); System.out.println(curActiveCount + "(active) " + availableCount + "(available) " + maxCount + "(max)"); System.out.println("----------------------------------"); activeCount = curActiveCount; } }catch (ProxoolException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (connection != null) { return connection; }else { throw new NullPointerException("Didn't get connection, which probably means that no Driver accepted the URL"); } } private static void init() { String fileName = "proxool.xml"; URL resourceURL = null; try { if (Thread.currentThread().getContextClassLoader() != null) { resourceURL = Thread.currentThread().getContextClassLoader().getResource(fileName); } if (resourceURL == null) { resourceURL = DBConnection.class.getClassLoader().getResource(fileName); } JAXPConfigurator.configure(resourceURL.getFile(),false); Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); }catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (ProxoolException e) { // TODO Auto-generated catch block e.printStackTrace(); } initialized = true; }}
注: mySqlProxool为注册proxool的别名
<?xml version="1.0" encoding="UTF-8"?><something-else-entirely> <proxool> <alias>mySqlProxool</alias> <driver-url>jdbc:mysql://127.0.0.1:3306/db</driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <driver-properties> <property name="user" value="XXX" /> <property name="password" value="XXX" /> <property name="autoReconnect" value="true" /> </driver-properties> <!-- <jndi-name>jdbc-mahout</jndi-name> <jndi-java.naming.factory.initial> org.apache.naming.java.javaURLContextFactory </jndi-java.naming.factory.initial> <jndi-java.naming.factory.url.pkgs>org.apache.naming</jndi-java.naming.factory.url.pkgs> --> <test-before-use>true</test-before-use> <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> <house-keeping-sleep-time>90000</house-keeping-sleep-time> <simultaneous-build-throttle>100</simultaneous-build-throttle><!-- old name maximum-new-connections --> <maximum-connection-count>300</maximum-connection-count> <minimum-connection-count>20</minimum-connection-count> <!-- <maximum-connection-lifetime>3600000</maximum-connection-lifetime> <maximum-active-time>120000</maximum-active-time>--> <prototype-count>5</prototype-count><!-- mini keep connection --> <maximum-active-time>1200000</maximum-active-time> </proxool></something-else-entirely>
0 0
- proxool代码创建数据库连接与获取监控状态
- Spring监听器与proxool.xml(数据库连接池)
- JDBC如何与数据库连接获取数据(原理+代码)
- proxool 配置数据库连接池
- proxool数据库连接池配制
- 数据库连接池总结----Proxool
- 浅析数据库连接池proxool
- PROXOOL数据库连接池使用
- 数据库连接池总结----Proxool
- proxool 配置数据库连接池
- 数据库连接池概述:Proxool
- proxool数据库连接池框架
- proxool数据库连接池配置
- Java数据库连接池 Proxool
- proxool数据库连接池使用方法
- Proxool数据库连接池
- 监控进程创建代码
- java创建数据库连接池代码
- MFC Combo-box显示大小
- tornado 2、路由参数
- CodeForces 705B Spider Man 思维游戏题
- 【NOIP2011模拟9.9】过河问题
- tmp
- proxool代码创建数据库连接与获取监控状态
- 监听软件盘的弹起和关闭
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- 【Android】Opencv For Android: 如何显示摄像头预览
- 验证输入框内容是否为数字
- 堆栈的生长方向和空栈满栈的区别
- 【NOIP2011模拟9.9】最短路
- proxool数据连接池
- 关于ORA-01720: 不存在 '+++' 的授权选项的错误解决方法