使用Proxool连接池, 当在关闭或重启Tomcat容器时,出现
Exception in Thread "HouseKeeper" java.lang.NullPointerException
空指针异常错误。
原因是:
This is because Proxool is not being shutdown properly. If the JVM stops
then Proxool recognises that and shuts down gracefully, but if you
redeploy Proxool into some environments (for example, a servlet
container) then Proxool needs to be explicitly told so by calling
ProxoolFacade.shutdown()
. If you have a servlet container then you could
put it in the servlet's destroy() method. Alternatively, use the
ServletConfigurator to both configure and shutdown Proxool
解决方法:
1. 在Servlet的destroy()方法中显式地proxool关闭连接池:ProxoolFacade.shutdown();
public class ProxoolServlet extends HttpServlet {
public void init() throws ServletException {
}
public void destroy() {
ProxoolFacade.shutdown();
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request,response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
}
2. 将该Servlet配置到web.xml中:
<servlet>
<servlet-name>proxoolServlet </servlet-name>
<servlet-class>xxx.ProxoolServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
分享到:
相关推荐
在IT行业中,数据库连接池是优化数据库访问性能和资源管理的重要工具。Proxool是一个开源的、轻量级的Java数据库连接池实现,它提供了一种高效、灵活的方式来管理数据库连接。在某些场景下,为了保护敏感信息,如...
应用程序在需要数据库连接时,从Proxool连接池中请求一个连接。使用完毕后,必须将连接归还给连接池,以便其他线程可以复用。这个过程是透明的,通常通过JDBC的`getConnection()`和`close()`方法实现。 5. **连接...
项目实用的proxool连接池配置文件,每个标签都有注释,可以直接拿来使用
在Java开发中,使用Hibernate作为持久层框架时,为了提高数据库操作的性能和资源利用率,通常会引入连接池技术。Proxool是Apache的一个开源项目,它提供了一个轻量级的数据库连接池实现。本篇将详细介绍如何在...
- **配置细节**:通过配置JMX代理ID和其他相关信息,可以在运行时监控和管理Proxool连接池的状态。 - **示例配置**: ```properties jmx=jmx-agent-id jmx-agent-id=my-jmx-agent jndi-name=java:jboss/data...
Proxool连接池使用方法 首先, 你要把下载 proxool 的 lib 下面所有的 jar 文件, 放到 WEB-INF/lib 下面, 另外, 把你的 jdbc driver 也放到相同的 lib,
允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的 等待请求数由maximum-new-connections决定 --> <maximum-connection-count>100</maximum-connection-count> - <!-- 最小连接数 --> ...
3. 初始化连接池:在应用启动时加载配置,并初始化Proxool连接池。 4. 获取和释放连接:在需要访问数据库时,从连接池中获取连接;完成操作后,记得释放回连接池,而不是直接关闭。 5. 监控和诊断:定期检查Proxool...
标题 "Spring+Hibernate+Proxool连接池" 涉及到的是在Java Web开发中,如何使用Spring框架集成Hibernate ORM框架,并结合Proxool作为数据库连接池的技术实践。这通常是为了提高应用性能,有效管理和复用数据库连接,...
在Java应用程序中,开发者可以通过配置文件设定连接池的参数,如最大连接数、超时时间等,并在需要时从连接池中获取连接。 SF4J(Simple Logging Facade for Java)是一个轻量级的日志框架,为其他日志API提供了一...
在本压缩包中,包含的是与Proxool连接池相关的MySQL驱动jar包,这将有助于在Java应用程序中建立与MySQL数据库的连接。 首先,我们来深入理解一下Proxool连接池。Proxool的核心功能是创建一个池化的数据库连接集合,...
然而,Proxool 的简单性和易于配置使其在小型项目或学习数据库连接池概念时仍然是一种好的选择。 ### 总结: Proxool 是一款简洁的数据库连接池,它的主要优势在于易于配置和使用,同时提供了监控和诊断功能。虽然...
Proxool连接池是数据库连接管理的一个开源工具,它提供了一种高效且灵活的方式来管理和复用数据库连接,以提升应用程序的性能和响应速度。在Java应用程序中,尤其是在高并发环境下,数据库连接池扮演着至关重要的...
本文将深入探讨Hibernate与Proxool连接池的配置,以及在配置过程中可能遇到的问题。 **1. Proxool简介** Proxool是一个开源的数据库连接池实现,它提供了动态、可扩展的连接池管理服务。通过Proxool,开发者可以...
在大型项目中,为了提高数据库访问效率,通常会引入连接池技术,如Proxool,它是Apache的一个开源项目,专门用于管理数据库连接。 **Spring框架**:Spring是Java企业级应用的核心框架,它提供了一个配置式、依赖...
"G2"可能是一个辅助类或者测试用例,可能包含了数据库操作的逻辑,比如执行SQL查询、事务处理等,以便展示在使用Proxool连接池时的正确操作方式。而"H"可能是另一个相关文件,可能是配置文件或者额外的代码部分,...
8. 关键配置项`hibernate.connection.release_mode`设置为`after_statement`,这是因为Proxool在释放连接时可能较慢,所以选择在每个数据库操作后释放连接,以优化资源使用。 `proxool.xml`是Proxool的配置文件,...
接下来,在`WEB-INF/web.xml`中添加对Proxool Admin Servlet的配置,用于管理连接池。示例代码如下: ```xml <servlet-name>Admin <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet ...
Spring2.5配置proxool连接池