日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

proxool java_Java应用中使用Proxool

發布時間:2023/12/19 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 proxool java_Java应用中使用Proxool 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java應用中使用Proxool

本文題目沒有強調的是Java應用,不是Java Web應用,原因是從網上找有關Proxool的例子,全是一個摸樣,都是將講解Java Web中的應用,真沒勁,難道Proxool離開了web就不能用了?不信你可以google一把看看。

在閱讀了Proxool的官方指南后,我寫了個簡單測試,扔出來,希望能對大家有用。

環境:

JDK 1.5

proxool-0.9.1.zip

Oracle 10g

Proxool準確說還算不上一個連接池,因為里面沒有一個獲取DataSource對象的方法,也沒有一個獲取“**Pool”的途徑。因此要使用Proxool連接池,有兩條路可走,一是自己實現一個連接池的管理工具,二是通過開源的框架來使用,因為好多開源框架實現了池管理功能,比如Spring、Hibernate、iBatis等等。

Proxool的性能據說還不錯,常常與Spring、Hibernate等整合使用,倒很方便。

這里我不打算實現什么連接池管理工具,也不使用開源框架,而是僅僅利用Proxool提供的功能來做一個數據庫操作。

1、寫Proxool的配置

Proxool提供了一個接口,用來讀取xml格式或properties格式的配置信息,用來初始化Proxool所需的參數。這里我用xml配置,當然這個XML是網上找的,我懶得寫,僅僅改吧改吧能用。

timalias

jdbc:oracle:thin:@192.168.104.192:1521:tim

oracle.jdbc.driver.OracleDriver

100

10

90000

10

5

true

select sysdate from dual

2、寫測試類

import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

/**

* Created by IntelliJ IDEA.

*

* @author leizhimin 2009-10-10 17:59:47

*/

public class TestProxool {

public static String dburl = "jdbc:oracle:thin:@192.168.104.192:1521:tim";

public static String user = "tim";

public static String password = "tim_8968888";

/**

* JDBC方式測試

*

* @throws Exception

*/

public static void test1() throws Exception {

String testsql = "select * from village t where lastid = 346";

//1:注冊驅動類

Class.forName("oracle.jdbc.driver.OracleDriver");

//2:創建數據庫連接

Connection conn = DriverManager.getConnection(dburl, user, password);

//3:創建執行SQL的對象

Statement stmt = conn.createStatement();

//4:執行SQL,并獲取返回結果

ResultSet rs = stmt.executeQuery(testsql);

//5:處理返回結果,此處打印查詢結果

while (rs.next()) {

System.out.print(rs.getLong("id") + "\t");

System.out.print(rs.getString("name") + "\t");

System.out.println();

}

//6:關閉數據庫連接

conn.close();

}

/**

* proxool方式測試

*

* @throws Exception

*/

public static void test2() throws Exception {

//Java應用中先要加載配置文件,否則誰知道你配置給誰用的

JAXPConfigurator.configure("F:\\_test\\synorg\\src\\proxool.xml", false);

String testsql = "select * from village t where lastid = 346";

//1:注冊驅動類,這次這個驅動已經不是Oracle的驅動了,是Proxool專用的驅動

Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");

//2:創建數據庫連接,這個參數是一個字符串,是數據源的別名,在配置文件中配置的timalias,參數格式為:proxool.數據源的別名

Connection conn = DriverManager.getConnection("proxool.timalias");

//3:創建執行SQL的對象

Statement stmt = conn.createStatement();

//4:執行SQL,并獲取返回結果

ResultSet rs = stmt.executeQuery(testsql);

//5:處理返回結果,此處打印查詢結果

while (rs.next()) {

System.out.print(rs.getLong("id") + "\t");

System.out.print(rs.getString("name") + "\t");

System.out.println();

}

//6:關閉數據庫連接

conn.close();

}

public static void main(String[] args) throws Exception {

test2();

}

}

運行結果:

2009-10-14 18:13:05????- INFO????org.logicalcobwebs.proxool.ProxoolFacade???????? - Proxool 0.9.1 (23-Aug-2008 11:10)

2009-10-14 18:13:05????- WARN????org.logicalcobwebs.proxool.timalias???????? - Use of proxool.maximum-new-connections is deprecated. Use more descriptive proxool.simultaneous-build-throttle instead.

5411??張一村

5412??張二村

5413??張三村

5414??張四村

5415??南原村

5416??辛莊村

5417??凡村

5418??西陽村

5419??人馬村

5420??前關村

5421??后關村

5422??趙村

5423??水淆村

5424??溝東村

5425??陳村

5426??窯店村

5427??坡頭村

20588??大安頭

20589??澗里村

20590??人馬寨

20591??白草村

20592??窯院村

20593??寺下村

20594??反上村

33651??小安頭

33652??五花嶺

33653??東溝

33654??西溝

33655??南溝

33656??王村

33657??營前

33659??東陽

33661??太陽

33663??豐陽

33665??宜村

33667??窯頭

32225??石原村

32226??廟上村

32227??廟洼

38739??丁管營

38841??澗西

2009-10-14 18:13:06????- INFO????org.logicalcobwebs.proxool.timalias???????? - Shutting down 'timalias' pool immediately [Shutdown Hook]

2009-10-14 18:13:07????- INFO????org.logicalcobwebs.proxool.PrototyperController???????? - Stopping Prototyper thread

2009-10-14 18:13:07????- INFO????org.logicalcobwebs.proxool.HouseKeeperController???????? - Stopping HouseKeeper thread

Process finished with exit code 0

因為使用了log4j,這個結果里面輸出了一些日志信息。

3、說明

Proxool的配置文件路徑不能使用ClassPath,我查看過接口代碼,可以傳入一個XmlReader、或流來解決,這里寫成絕對路徑就湊合著能跑起來就行。

也支持Properties的配置,則個可以參考官方文檔,也很方便的。

有關配置參數,網上的文檔一堆一堆的重復,大家隨便找篇就行。

想看Web應用的,參看:

總結

以上是生活随笔為你收集整理的proxool java_Java应用中使用Proxool的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。