最近要结合数据库做一个 络爬虫程序,由于要经常访问数据库,所以采用连接池。proxool是连接池产品中比较出名的,所以就用它来管理我的数据库连接。但上 查了一下资料,发现大多都是将proxool跟某某框架集成在一起,或者要在服务器软件中配置,而我的程序根本不是B/S架构的,我也不想用其它框架来集成,我就直接用JDBC。
最后,还是参考了proxool的官方文档才搞定proxool与JDBC的配置方法:
首先在项目目录下创建属性配置文件proxool.properties,其内容为:
jdbc-0.proxool.alias=DBPool
jdbc-0.proxool.driver-url=jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=crawler.mdb
jdbc-0.proxool.driver-class=sun.jdbc.odbc.JdbcOdbcDriver
jdbc-0.user=
jdbc-0.password=
jdbc-0.proxool.house-keeping-test-sql=select *
jdbc-0.proxool.maximum-connection-count=100
jdbc-0.proxool.minimum-connection-count=10
jdbc-0.proxool.simultaneous-build-throttle=20
jdbc-0.proxool.house-keeping-sleep-time=90000
jdbc-0.proxool.prototype-count=5
属性可以按需增删,具体的含义可参考proxool的官方文档。
在工程中导入以下几个包
proxool-0.9.1.jar
proxool-cglib.jar
commons-logging.jar
编写下面的应用程序:
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import junit.framework.TestCase;
import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.configuration.PropertyConfigurator;
public class CrawlerQueueDaoWithPoolTest extends TestCase {
public void testPool() {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
try {
PropertyConfigurator.configure(“proxool.properties”);
} catch (ProxoolException e) {
e.printStackTrace();
}
conn = DriverManager.getConnection(“proxool.DBPool”);
st = conn.createStatement();
rs = st.executeQuery(“select * from t_seed0”);
while (rs.next()) {
System.out.println(rs.getString(1) + “t” + rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
rs.close();
st.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!