Tia*_*aga 6 java jboss memory-leaks ejb
我遇到内存泄漏问题,因为EJB没有从池中删除.ejb是3.0并且是无状态的.
In my jboss jmx-console 4.3, the statistics of a particular ejb looks like:
AvailableCount 30
MaxSize 30
CurrentSize 5727
CreateCount 5727
RemoveCount 0
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么"删除计数"没有增加?而"当前大小"是否大于"MaxSize"?
伙计,您遇到了一个可怕的错误,其中 SLSB 未清除并泄漏...几周前我们在生产环境中遇到了这个问题...
JBoss 推荐的唯一解决方法是使用StrictMaxPool而不是ThreadLocalPool用于您的 SLSB。明智地选择计数。
你应该修改ejb3-interceptors-aop.xml
<domain name="Stateless Bean">
...
<annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
@org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=30, timeout=10000)
</annotation>
</domain>
Run Code Online (Sandbox Code Playgroud)
这里有一些链接可以为您提供一些见解......
ThreadlocalPool 不会从 InfinitePool 中删除活动的 BeanContext 实例