我需要知道如何确保容器关闭EMF (使用wildfly 8.0和hibernate-jpa)。
每次我取消部署我的应用程序时,WeldJpaInjectionServices$EntityManagerResourceReferenceFactory的一个实例都会留在内存中,其中包含一个EMF实例。
在一些部署/取消部署之后,这会导致OOM异常。
我没有在代码中使用EMF引用,只使用了带有@Produces和@PersistenceContext注释的EntityManager。
这发生在wildfly 8.0、8.1和9.0alpha,以及java 7和8上。
发布于 2014-11-26 03:52:36
泄漏与Undertow的keep-alive和read-timeout属性有关。
在新版本的Wildfly (8.2)中,我们可以定义以下属性:
<subsystem xmlns="urn:jboss:domain:undertow:1.2">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http" tcp-keep-alive="true" read-timeout="30000"/>安装完成后,部署/取消部署时不会再有泄漏。
问题:WFLY-3536 - Wildfly 8.1.0 Final keeps established connections forever
https://stackoverflow.com/questions/27017956
复制相似问题