MsSQL   发布时间:2022-05-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Proxool连接池使用方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先, 你要把下载 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连接池使用方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:首先