微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tomcat连接池被耗尽

我在我的项目中使用Apache Tomcat JDBC连接池。 我很困惑,因为在重负载下,我一直看到以下错误

12:26:36,410 ERROR [] (http-/XX.XXX.XXX.X:XXXXX-X) org.apache.tomcat.jdbc.pool.PoolExhaustedException: [http-/XX.XXX.XXX.X:XXXXX-X] Timeout: Pool empty. Unable to fetch a connection in 10 seconds,none available[size:4; busy:4; idle:0; lastwait:10000]. 12:26:36,411 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/APP].[AppConf]] (http-/XX.XXX.XXX.X:XXXXX-X) JBWEB000236: Servlet.service() for servlet AppConf threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException

我的期望是,在build立连接时,对新连接的请求将被保留在一个队列中,直到连接可用。 相反,似乎请求在池达到容量时被拒绝。 这种行为可以改变吗?

谢谢,

达尔

Apache Commons Pool 2中的maxTotal和maxIdle有什么区别?

为什么Windows 10在我的程序中启动额外的线程?

取消WIN32线程池中的预定工作/ IO /定时器项目

有多个线程池与单个线程池有什么好处?

Windows API线程池简单的例子

这是我的游泳池configuration:

PoolProperties p = new PoolProperties(); p.setUrl("jdbc:oracle:thin:@" + server + ":" + port + ":" + SID_SVC); p.setDriverClassName("oracle.jdbc.driver.OracleDriver"); p.setUsername(username); p.setPassword(password); p.setMaxActive(4); p.setinitialSize(1); p.setMaxWait(10000); p.setRemoveAbandonedTimeout(300); p.setMinevictableIdleTimeMillis(150000); p.setTestOnBorrow(true); p.setValidationQuery("SELECT 1 from dual"); p.setMinIdle(1); p.setMaxIdle(2); p.setRemoveAbandoned(true); p.setJdbcInterceptors( "org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;" + "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer;" + "org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer");

uWsgi lazy-apps和ThreadPool

实现一个简单的线程池

寻找与OS调度程序支持的Linux线程池api

池线程的SetThreadAffinityMask

I / O的最新Windows线程池API使用情况

如果您看到日志Timeout: Pool empty. Unable to fetch a connection in 10 seconds ,则按照设计/实现工作Timeout: Pool empty. Unable to fetch a connection in 10 seconds Timeout: Pool empty. Unable to fetch a connection in 10 seconds并且您的配置是p.setMaxWait(10000); 。 请求线程在放弃等待连接之前等待10秒(10000毫秒,maxwait)。

现在你有两个解决方案,增加maxActive连接的数量或检查是否有任何连接泄漏/长时间运行的查询(你不期望)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐