错误信息
2008-1-24 11:46:04 org.logicalcobwebs.proxool.ProxoolFacade registerConnectionPool
信息: Proxool 0.9.0RC3 (10-Jan-2007 01:38)
2008-1-24 11:46:04 org.logicalcobwebs.proxool.ProxoolDriver connect
严重: Problem
org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias 'DBPool'
at org.logicalcobwebs.proxool.ConnectionPoolDefinition.doChange(ConnectionPoolDefinition.java:250)
at org.logicalcobwebs.proxool.ConnectionPoolDefinition.<init>(ConnectionPoolDefinition.java:147)
at org.logicalcobwebs.proxool.ProxoolFacade.registerConnectionPool(ProxoolFacade.java:96)
at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:77)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at selfservice.PoolManager.getConnection(PoolManager.java:30)
at selfservice.PoolManager.getQuery(PoolManager.java:99)
at selfservice.PoolManager.main(PoolManager.java:121)
java.sql.SQLException: org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias 'DBPool'
at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:109)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at selfservice.PoolManager.getConnection(PoolManager.java:30)
at selfservice.PoolManager.getQuery(PoolManager.java:99)
at selfservice.PoolManager.main(PoolManager.java:121)
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>
jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=test
</driver-url>
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="sa" />
<property name="password" value="1" />
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>150</maximum-new-connections>
<prototype-count>3</prototype-count>
<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>3</minimum-connection-count>
</proxool>
</something-else-entirely>
类文件
package selfservice;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.ProxoolFacade;
import org.logicalcobwebs.proxool.admin.SnapshotIF;
public class PoolManager {
private static int activeCount = 0;
public PoolManager() {
}
/**
* 获取连接 getConnection
*
* @param name
* @return
*/
public Connection getConnection() {
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");// proxool驱动类
Connection conn = DriverManager.getConnection("proxool.DBPool");
// 此处的DBPool是在proxool.xml中配置的连接池别名
showSnapshotInfo();
return conn;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
/**
* 此方法可以得到连接池的信息 showSnapshotInfo
*/
private void showSnapshotInfo() {
try {
SnapshotIF snapshot = ProxoolFacade.getSnapshot("DBPool", true);
int curActiveCount = snapshot.getActiveConnectionCount();// 获得活动连接数
int availableCount = snapshot.getAvailableConnectionCount();// 获得可得到的连接数
int maxCount = snapshot.getMaximumConnectionCount();// 获得总连接数
if (curActiveCount != activeCount)// 当活动连接数变化时输出的信息
{
System.out.println("活动连接数:" + curActiveCount
+ "(active) 可得到的连接数:" + availableCount
+ "(available) 总连接数:" + maxCount + "(max)");
activeCount = curActiveCount;
}
} catch (ProxoolException e) {
e.printStackTrace();
}
}
/**
* 获取连接 getConnection
*
* @param name
* @return
*/
public Connection getConnection(String name) {
return getConnection();
}
/**
* 释放连接 freeConnection
*
* @param conn
*/
public void freeConnection(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 释放连接 freeConnection
*
* @param name
* @param con
*/
public void freeConnection(String name, Connection con) {
freeConnection(con);
}
public void getQuery() {
try {
Connection conn = getConnection();
if (conn != null) {
Statement statement = conn.createStatement();
ResultSet rs = statement
.executeQuery("select * from t_emp");
int c = rs.getMetaData().getColumnCount();
while (rs.next()) {
System.out.println();
for (int i = 1; i <= c; i++) {
System.out.print(rs.getObject(i));
}
}
rs.close();
}
freeConnection(conn);
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
PoolManager manager = new PoolManager();
manager.getQuery();
}
}
这样写有什么问题吗?我弄不明白为什么会出错,难道是还要配置什么吗?
分享到:
- 2008-01-24 14:02
- 浏览 7947
- 评论(9)
- 论坛回复 / 浏览 (9 / 10817)
- 查看更多
相关推荐
在实际应用中,使用Proxool连接池的步骤通常包括: 1. 添加依赖:将这两个jar文件添加到项目的类路径中。 2. 配置Proxool:创建XML配置文件,定义数据库连接的相关参数,如URL、用户名、密码以及池的大小等。 3. ...
当遇到“使用proxool连接Sybase时处理事务的问题”,这通常涉及到事务的隔离级别、事务的自动提交状态以及事务控制语句(如BEGIN、COMMIT、ROLLBACK)的正确使用。 事务处理是数据库操作的核心部分,确保数据的一致...
标签“java 数据库连接池 proxool 中文乱码”揭示了这个包特别适用于解决在Java环境下使用Proxool时可能出现的中文乱码问题。在数据库操作中,如果处理中文字符不当,可能会导致乱码。Proxool的这个版本可能已经针对...
在实际使用中,开发者通常会在项目构建工具(如Maven或Gradle)的依赖管理中引入"proxool-0.9.1.jar",然后通过编程接口或者DataSource配置来初始化和使用Proxool连接池。在代码中,可以使用Proxool提供的API来获取...
在实际应用中,DBCP常与C3P0、Proxool等其他连接池技术并存使用。 #### 二、DBCP配置详解 在交通银行项目文档中提到了对DBCP连接池的一些关键配置项: 1. **initialSize**: 连接池启动时创建的初始化连接数量,...
1. **配置文件错误**:检查`hibernate.cfg.xml`,确保配置了正确的Proxool连接池配置。例如: ```xml <property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider ...
标题中的"proxool-bug_fix"表明这是一个关于Proxool的修复补丁或更新版本,主要目的是解决Proxool在使用过程中出现的问题。Proxool是Apache软件基金会的一个开源项目,它是一个数据库连接池(Connection Pool)实现...
v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池的...
v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池...
v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池的...
v1.2处理了oracle环境下由于服务器关闭休眠链接造成的连接池循环检测进程异常退出的情况,改为当循环周期大于服务器关闭休眠链接间隔时,后台打印异常并重新连接数据库。 R2 jdbc连接池,用于java程序中jdbc连接池的...
这个工具类的主要目的是在程序运行时自动读取配置文件(例如`redis.properties`),并根据配置创建和管理Redis连接池,类似于proxool这样的数据库连接池管理工具。 首先,让我们了解一下`Jedis`。Jedis是Java语言的...
本文将深入解析如何有效解决MySQL出现大量TIME_WAIT状态的问题,通过调整系统内核参数、优化数据库配置以及合理管理连接池策略,确保服务器性能的稳定与高效。 ### 一、理解TIME_WAIT TIME_WAIT是TCP协议中的一个...