当我尝试在Web应用程序中创建250个以上的线程时,出现“无法获得连接,池错误,超时,等待空闲对象错误”的消息。我正在使用JSF
2.0和Hibernate创建Web应用程序。
我尝试使用修改过的hibernate.xml,server.xml,context.xml以及mysql属性。
以下是我得到的。
WARN (JDBCExceptionReporter.java:233) - SQL Error: 0, SQLState: null
ERROR (JDBCExceptionReporter.java:234) - Cannot get a connection, pool error Timeout waiting for idle object
ERROR (BaseServlet.java:301) - ******** java.lang.Thread.getStackTrace(Thread.java:1426)
Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:160)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:81)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1473)
sun.reflect.GeneratedMethodAccessor378.invoke(Unknown Source)
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:92)
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:160)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:81)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1473)
sun.reflect.GeneratedMethodAccessor378.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1144)
org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:92)
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:160)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:81)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1473)
sun.reflect.GeneratedMethodAccessor378.invoke(Unknown Source)
如果对此有任何想法请帮助我......
也许您已经为 “死” 连接设置了超时时间,并且某些查询花费的 时间更长 。这意味着您的 池从池中删除了一个繁忙的连接
(“死”),并从 数据库中 请求另一个 连接 -直到数据库拔掉插头为止。
要调试此功能,请为连接池 启用日志记录 ,以便您可以看到它何时请求新连接。
还检查您的 mysql* 连接设置。并尝试在下一次(超出限制)使用完 数据库db 时 关闭连接 ,该连接状态将为 死 。
maxConnectionAge
***
问题内容: 当我尝试在Web应用程序中创建250个以上的线程时,出现“无法获取连接,池错误,超时,等待空闲对象错误”的消息。我正在使用JSF 2.0和Hibernate创建Web应用程序。 我尝试使用修改过的hibernate.xml,server.xml,context.xml以及mysql属性。 以下是我得到的。 如果对此有任何想法请帮助我...... 问题答案: 也许您已为 “死” 连接设置
错误:任务“:app:ProcessDebugResources”执行失败。 com.android.ide.common.Process.processException:org.gradle.Process.internal.exeception:Process“command”c:\users\mohamed sallam\appdata\local\android\sdk\build-to
请参见日志文件2017-11-06 23:34:15下面的代码调试DispatcherServlet:861 -名为“Spring”的DispatcherServlet处理[/Insurance1/]的GET请求17-11-06 23:34:15 WARN page not found:1136-在名为“Spring”的DispatcherServlet中找不到具有URI[/insurace 1/
检测空闲连接和超时是为了及时释放资源。常见的方法发送消息用于测试一个不活跃的连接来,通常称为“心跳”,到远端来确定它是否还活着。(一个更激进的方法是简单地断开那些指定的时间间隔的不活跃的连接)。 处理空闲连接是一项常见的任务,Netty 提供了几个 ChannelHandler 实现此目的。表8.4概述。 Table 8.4 ChannelHandlers for idle connections
我得到这个E/flutter(25055)错误时,我正在运行我的应用程序(Flutter, FireBase 我试着更新我的flutter,但仍然得到了相同的日志,这些日志使我的应用程序不稳定,应用程序崩溃了很多 我的颤振医生 C:\src\flatter\bin\flatter。蝙蝠医生——冗长[√] 颤振(通道稳定,2.2.3,在Microsoft Windows[Version 10.0.1