proxool连接池配置方法
2024-09-05 22:34:40
proxool.properties:
jdbc-1.proxool.alias=test
#jdbc-1.proxool.driver-class=com.mysql.jdbc.Driver
#jdbc-1.proxool.driver-url=jdbc:mysql://127.0.0.1:3306?useUnicode=true&characterEncoding=utf8
jdbc-1.proxool.driver-class=oracle.jdbc.OracleDriver
jdbc-1.proxool.driver-url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc-1.user=SCOTT
jdbc-1.password=scott
jdbc-1.proxool.maximum-connection-count=100
jdbc-1.proxool.minimum-connection-count=5
jdbc-1.proxool.prototype-count=4
jdbc-1.proxool.verbose=true
jdbc-1.proxool.statistics=10s,1m,1d
jdbc-1.proxool.statistics-log-level=error
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<!-- web项目中配置proxool,并自动加载 -->
<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>
org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>propertyFile</param-name>
<param-value>WEB-INF/classes/proxool.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <!-- 监控 proxool 连接池 --> <servlet>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/admin.jsp</url-pattern>
</servlet-mapping>
</web-app>
获取连接:
public class ConnectPoolFactory { public synchronized Connection getConnect(){
Connection conn=null;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
conn = DriverManager.getConnection("proxool.test");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
} }
下面是遇到的问题:
开始在网上配置proxool连接池,使用了工厂类来实例化,开始是这样写的:
package cn.tedu.util; import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties; import org.logicalcobwebs.proxool.configuration.PropertyConfigurator; public class ConnectPoolFactory { private static ConnectPoolFactory connectPoolFactory=null; private ConnectPoolFactory() {//构造方法
init();
} public void init(){//把properties文件加载到链接对象
InputStream is = ConnectPoolFactory.class.getResourceAsStream("/proxool.properties");
Properties properties = new Properties();
try {
properties.load(is);
PropertyConfigurator.configure(properties);
} catch (Exception e) {
e.printStackTrace();
}
} public static ConnectPoolFactory getInstance(){//单例
if(null == connectPoolFactory){
connectPoolFactory = new ConnectPoolFactory();
} return connectPoolFactory;
} public Connection getConnect(){
Connection conn=null;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
conn = DriverManager.getConnection("proxool.test");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
} }
但是这种方法可能与web.xml文件重复注册了proxool,会重复注册的错误。
建议使用工具类来获取连接
最新文章
- javascript入门:prototype和面向对象的实现
- python实验一:画图
- Android中插件开发篇之----动态加载Activity(免安装运行程序)
- 利用symbolsource/gitlink调试你的nuget包
- Oracle OCCI学习之开篇
- Windows程序设计-窗口和消息
- CI调试
- iOS中—触摸事件详解及使用
- mysql中 case when的使用
- uva 11107 Life Forms
- HMM 前向后向算法(转)
- 跨域访问解决方案:JSONP
- C#枚举中使用Flags特性
- 设计模式(三)装饰者模式Decorator
- lucene创建索引
- HTML之表格
- IdentityServer4:Endpoint
- redis常用命令(一)
- Delphi 创建一个url网址快捷方式代码
- 使用Apache Bench对网站性能进行测试
热门文章
- Centos安装ifstat统计网络流量
- centos7卸载YUM后重装过程 -bash: yum: command not found / -bash: yum: 未找到命令
- Rsync+sersync 数据同步指南
- tf.clip_by_global_norm
- 03.LinuxCentOS系统root目录LVM磁盘扩容
- [POI2008]Sta(树形dp)
- springboot--异步执行的方法及定时执行的方法
- YottaChain主网全面上线预示商业应用的落地区块链云存储不一样的云
- u盘被占用,无法弹出解决办法
- 二叉搜索树第k个节点