我正在使用CF10应用程序并尝试使用this.javaSettings
功能introduced in CF10定义特定于应用程序的类路径以加载JAR。
来自Application.cfc:
THIS.javaSettings = {
LoadPaths = [".\java_lib\",".\java\myjar.jar"],
loadColdFusionClassPath = true,
reloadOnChange = false
}
这很有用,我可以在应用程序的基础上定义JAR。但是,每次我重新加载应用程序时(例如,如果我调用applicationStop()
),CF似乎会同时重新加载所有加载的JAR /类 - 这意味着在一些重新加载我不可避免地得到一个内存不足的Perm Gen错误。
有没有人经历过这个?我通过更新GC策略来尝试通常的事情来启用permgen集合:
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
答案 0 :(得分:0)
好吧,这不是CF功能的问题 - 结果是内存泄漏源于已经编译到jar中的groovy代码(你可以在这里阅读groovy详细信息:https://stackoverflow.com/a/17952925/258813)< / p>
似乎CF10的热重装正常工作!