我在“开发模式”下运行TC 6,例如。应用程序类正在不断变化,我想用最少的麻烦看到最新的版本。用Tomcat开发
有段时间我使用TC HTML'manager'应用程序来重新加载;这起到了一定的作用,但一段时间后我一直在收到OOM错误。冲浪表明,这种方式重新加载时,TC有泄漏。再加上这是一个麻烦,每次编译后的额外步骤。
所以我切换到在context.xml文件中设置'reloadable true'。这可以达到一定程度,并且不需要任何额外的步骤,但是我又一次遇到了OOM错误(不太频繁,但仍然每天很多次)。更多的冲浪表明,这里也可能存在TC泄漏。
如果我使用'reloadable true'运行应用程序,但不重新编译任何内容或使用'reloadable false',它将永远运行(并且VisualVM认为它可以正确记忆)。
所以我有种感觉,每次我重新编译一个类时我应该完全重启TC。这是一个巨大的痛苦,但也许比随机的周期性OOM崩溃更好。只是想知道是否有人有更好的想法。也许我应该尝试一个不同的容器。
干杯和谢谢!
非常感谢回复。 JRebel看起来像一个伟大的计划,我会尝试;它似乎是专门为解决这个问题而设计的,这表明我没有做到这一点,而且它足够便宜,如果这是一个骗局,没有什么大不了的。
该应用程序通过ConnectorJ执行一些简单的标准MySQL调用,以及默认的开箱即用内存分配。坦率地说,虽然我没有看到这些事情是如何相关的,因为只要没有重新加载,应用程序就可以正常工作。
再次感谢。再一次,我不敢相信这是多么有用!
您可以发布您正在使用的JVM内存设置吗? – StevenWilkins 2009-12-02 18:10:13