首先, 你要把下载 proxool 的 lib 下面所有的 jar 文件, 放到 WEB-INF/lib 下面,
另外, 把你的 jdbc driver 也放到相同的 lib,
接著就是设定 /WEB-INF/web.xml
web.xml
#########web.xml start here
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"/WEB-INF/dtds/web-app_2_3.dtd">
<web-app>
<display-name>proxool</display-name>
<servlet>
<servlet-name>Admin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Admin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>
</web-app>
#########web.xml end here
SECTION 02 透过 ProxoolDriver 取得 connection
建立一个 jsp or DAO Bean, 透过 org.logicalcobwebs.proxool.ProxoolDriver 建立 Connection
test.jsp
<%@page import="java.sql.*"%>
<%
Connection connection = null;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
connection = DriverManager.getConnection(
"proxool.test:org.gjt.mm.mysql.Driver:jdbc:mysql://localhost:3306/test",
"root",
"password"
);
} catch (Exception e) {
out.println(e);
}
out.println("OK");
%>
SECTION 04 检视 pooling 现在状态
执行 http://localhost:8080/proxool-test/admin 如果没有任何 pool 状态的时候, 你只会看到 Pools 这几个字, 所以你先执行 http://localhost:8080/proxool-test/test.jsp 建立一个 connection, 就可以监控 connection pooling 的状态了.
SECTION 05 使用 properties 或者 xml 来设定 DB URL 及 Driver
可以采用 xml 设定, 在程式中使用 JAXPConfigurator.configure("proxool.xml", false); 将资料设定
WEB-INF/proxool.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>xml-test</alias>
<driver-url>jdbc:mysql://localhost:3306/test</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="password"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
也可以采用 properties, 在程式 PropertyConfigurator.configure("proxool.properties"); 将资料设定
WEB-INF/proxool.properties
jdbc-0.proxool.alias=property-test
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/test
jdbc-0.proxool.driver-class=org.gjt.mm.mysql.Driver
jdbc-0.user=root
jdbc-0.password=password
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
如果在 Web 使用, 在 web.xml 也可以设定 ServletConfigurator Servlet 来注册
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"/WEB-INF/dtds/web-app_2_3.dtd">
<web-app>
<display-name>proxool</display-name>
<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>
org.logicalcobwebs.proxool.configuration.ServletConfigurator
</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Admin</servlet-name>
<servlet-class>
org.logicalcobwebs.proxool.admin.servlet.AdminServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Admin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>
</web-app>
在程式中, 只需要利用到别名就可以呼叫 connection pool 里面的 connection 来使用了
<%@page import="java.sql.*;"%>
<%
Connection connection = null;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
connection = DriverManager.getConnection("proxool.xml-test");
} catch (Exception e) {
out.println(e);
}
out.println("ok");
%>
SECTION 06 使用 connection.close() 关闭 connection
以上的例子我都没有写 close, 在 connection 做完之后记得使用 close() 来关闭,否则很快就会到达最大连接数的.
SECTION 07 中文问题
和往常一样,中文的问题就会出现。对于mysql,好消息是写入数据库的中文可以正常,坏消息是显示的中文还是不正常。
和以往的方法不一样,要正确显示,必须用
String des = new String(s_string.getBytes("GBK"),"iso8859-1");
把GBK转为iso8859-1就可以正常使用了,另外,用下面的方法也可以解决:
在MYSQL的MY.INI里加上
[mysqld]
default-character-set = gb2312
[client]
default-character-set = gb2312
SECTION 07 多类型连接的问题
经常在应用中即需要连接MYSQL,又需要连接ORACLE,又该如何去实现呢?我们可以用proxool.xml来实现:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<proxool>
<alias>xfort</alias>
<driver-url>jdbc:jtds:sqlserver://xforttest/XFORT</driver-url>
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="xfort" />
<property name="password" value="xfort" />
</driver-properties>
</proxool>
<proxool>
<alias>xfort5</alias>
<driver-url>jdbc:jtds:sqlserver://xforttest/XFORT5</driver-url>
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="xfort" />
<property name="password" value="xfort" />
</driver-properties>
</proxool>
</foo>
用的时候:
JAXPConfigurator.configure("proxool.xml", false);
Connection conn = DriverManager.getConnection("proxool.xfort");
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM table");
pstmt.executeQuery();
conn.close();
conn = DriverManager.getConnection("proxool.xfort5");
pstmt = conn.prepareStatement("SELECT * FROM table");
pstmt.executeQuery();
conn.close();
分享到:
相关推荐
proxool连接池使用详细说明,proxool连接池使用详细说明,proxool连接池使用详细说明。
proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解 proxool连接池配置详解
项目实用的proxool连接池配置文件,每个标签都有注释,可以直接拿来使用
-- 连接池的别名 --> <alias>DBPool</alias> - <!-- proxool只能管理由自己产生的连接 --> <driver-url>jdbc:sqlserver://localhost:1433;dataBaseName=books</driver-url> - <!-- JDBC驱动程序 --> ...
proxool 数据库连接池用户名、密码加密处理,文件里面包含可直接使用加密的jar以及相关使用说明。
在Hibernate中配置Proxool连接池
Proxool连接池jar包Proxool连接池jar包Proxool连接池jar包
proxool 连接池 tomcat模拟连接池
ssh2注册登录案例,注解+proxool连接池+sf4j记录日志
Proxool连接池及使用文档,参照文档,可以很快学会使用
最新,最全的proxool连接池所涉及的mysql的jar包程序
基于ssh的proxool连接池配置,希望可以帮助到想了解proxool连接池配置的朋友
Hibernate Proxool连接池配置总结及常遇问题
Spring2.5配置proxool连接池
Proxool连接池配置
连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项...
proxool连接池笔记 性能较好的连接池
连接池配置文件 博文链接:https://yanghaiskys.iteye.com/blog/215424