【发布时间】:2015-11-05 21:46:10
【问题描述】:
我正在使用 Wildfly 8.2,并在打开某个网页时触发一系列数据库请求。所有查询都通过 JPA Criteria API 调用,按预期返回结果 - 并且 - 它们都没有发出警告、错误或异常。这一切都在 Parallel Plesk 中运行。
现在,我注意到在 2 到 3 天内出现以下错误并且网站变得无响应。我重新启动并等待大约 3 天,直到它再次发生(取决于我的请求数量)。
我检查了我的 linux 服务器上的 tcpsndbuf,我注意到它一直处于最大值。除非我重新启动 Wildfly。显然它无法释放连接。
连接由 JPA/Hibernate 和 Wildfly 容器管理。我不做任何特殊或自定义的事务处理,例如开关。等等。我把这一切都留给了 Wildfly。
我使用的 MySQL 驱动是 5.1.21 (mysql-connector-java-5.1.21-bin.jar)
在standalone.xml 中,我定义了以下数据源数据源值(以及其他):
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>3</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<shared-prepared-statements>true</shared-prepared-statements>
</statement
有没有人经历过同样的 tcpsndbuf 值上升(或这个错误)?如果您需要更多配置或日志文件,请告诉我。谢谢!
更新 尽管有以下额外的超时设置,它仍然会运行到衣架中。因此,只要达到最大 tcpsndbuf,它将使用 100% 的 CPU 时间。,
【问题讨论】:
标签: java mysql hibernate transactions wildfly-8