我有一个遭受内存泄漏的应用程序服务器。此泄漏导致JSF
ManagedBeans
会话到期后未从内存中收集垃圾。我们现在有一个修复程序,我想开发一个自动回归测试,以确保我们不会在下一个版本中再次引入这个问题。
所以我正在考虑进行测试Arquillian
,将示例应用程序部署到服务器并访问它,然后等待会话到期,执行垃圾收集并检查内存中是否有 bean。所以前两个步骤不是问题 - 但是
- 如何即时执行垃圾收集?
System.gc()
不能保证什么,是吗? - 其次,如何进行内存查找?我想这是可能的
MBeans
,JMX
但我没有这方面的经验
所以我的问题是 - 是否有可能以某种自动化方式实现这一目标?如果是的话,你的方法是什么?