Coldfusion 10 - 应用程序特定的类路径

标签 coldfusion classloader coldfusion-10

我正在使用 CF10 应用程序,并尝试定义应用程序特定的类路径以使用 this.javaSettings 功能加载 JAR introduced in CF10 .

来自Application.cfc:

THIS.javaSettings = {
    LoadPaths = [".\java_lib\",".\java\myjar.jar"], 
    loadColdFusionClassPath = true, 
    reloadOnChange = false
}

这非常有效,我可以在应用程序的基础上定义 JAR。然而,每次我重新加载应用程序时(例如,如果我调用 applicationStop()),那么 CF 似乎会同时重新加载所有已加载的 JAR/类 - 这意味着经过多次重新加载后,我不可避免地会遇到内存不足 Perm Gen 错误。

有人经历过这种情况吗?我通过更新 GC 策略来启用永久收集来尝试常见的操作:

-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

最佳答案

好吧,这不是 CF 功能的问题 - 事实证明,内存泄漏源于已编译到 jar 中的 groovy 代码(您可以在此处阅读 groovy 详细信息:https://stackoverflow.com/a/17952925/258813)

看来 CF10 热重载 jar 工作正常!

关于Coldfusion 10 - 应用程序特定的类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17925730/

相关文章:

ColdFusion:上传前获取文件名

coldfusion - 默认QuartzScheduler_Worker "Task invokehandler could not be chained"

java - 如何在 EAR 中的 jar 和共享库之间的 Websphere Liberty Profile 中获取类加载器可见性

java - 在这种情况下,为什么 Tomcat 无法从 WEB-INF/lib 加载类?

cookies - 如何检查 ColdFusion 2016 中是否存在 cookie?

coldfusion - 未遵守 web.xml 中的默认文档(开发人员/独立服务器)

localization - 我应该在ColdFusion网站上使用哪种计算机辅助翻译格式?

coldfusion - 如何在 CreateObject 参数中添加带点的路径

java - 仅更改方法结果和类加载器 NoSuchMethod

coldfusion - 如何使用 cfzip 重命名文件?