获取当前模板的上次修改日期,而无需访问硬盘

时间:2019-05-10 01:22:57

标签: coldfusion coldfusion-2016

我知道我可以使用getFileInfo(getCurrentTemplatePath())来获取当前模板的最后修改日期,但是如果我可以从内存中获取它,那会更好。我有几种可能的用途,但我还没有准备好为它们辩护,所以现在让我们说出我是出于好奇。

我认为应用服务器必须在某个时候检查修改后的日期,以确定是否需要编译。如果我必须使用基础Java来做到这一点,那很好(当然,纯CF方法会更好,但我抱有很大希望)。

如果修改后的日期不可用,那么我会选择某种标志来指示当前请求是否触发了重新编译(实际上,这可能同样有效)。

1 个答案:

答案 0 :(得分:3)

您正在寻找TemplateCache。它处理针对coldfusion.compiler.NeoTranslator的查找,并获取已经编译的模板类,或者调用<cfset templateUri = getCurrentTemplatePath()> <cfset lastCompiled = createObject("java", "coldfusion.runtime.TemplateClassLoader").getLastCompiledTime(templateUri)> <!--- lastCompiled = unix timestamp in milliseconds ---> 将CFML编译到其中。

cookie <- "JSESSIONID=5BD17…; JSESSIONID=57D9…"
download.file(url, "myfile.csv", headers = c("Cookie" = cookie))

不用说,这是一个实现细节,您不应依赖它。