proxool连接池
配置文件的内容
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>jms1</alias>
<driver-url>jdbc:mysql://localhost/activemq</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="root" />
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<prototype-count>2</prototype-count>
<house-keeping-sleep-time>10000</house-keeping-sleep-time>
</proxool>
</something-else-entirely>
注册连接池,和取连接的类,由于没有用到web容器,所以只能自己在类中注册
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.log4j.Logger;
import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
import org.logicalcobwebs.proxool.ProxoolException;
//import org.logicalcobwebs.proxool.ProxoolFacade;
//import org.logicalcobwebs.proxool.admin.SnapshotIF;
public class DB {
static Logger logger = Logger.getLogger(DB.class);
static {
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
JAXPConfigurator.configure("pool1.xml",false);
JAXPConfigurator.configure("pool2.xml",false);
}catch(ClassNotFoundException cfe) {
logger.error("ClassNotFoundException occur");
}catch(ProxoolException pe) {
logger.error("ProxoolException occur");
}
}
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection("proxool.jms1");
}catch(SQLException pe1) {
logger.error("main_DB connection failed");
try {
conn = DriverManager.getConnection("proxool.jms2");
}catch(SQLException pe2) {
logger.error("backup_DB connection failed");
}
}
return conn;
}
}
请问下,我这样取连接有问题么?为什么感觉用了连接池,比没用连接池更慢啊
只有单个进程在取连接