为 Wildfly 提供的静态内容更新 Last-Modified

Updating Last-Modified for static content served with Wildfly

我在部署在 Wildfly 上的网络应用程序中有一个 war,其中包含一些静态文件(主要是图像)。有时应用程序需要更新其中一些文件,然后在文件系统中替换这些文件。

然而 Wildfly/Undertow 似乎认为什么都没有改变,响应中的 Last-Modified header 一直显示更新前的时间。

所以我想知道 Undertow 使用什么来确定显示的 Last-Modified header。我试过 "touching" parent 目录,但没有效果。

事实上,它看起来像 wildfly/undertow 在第一次加载给定资源后缓存最后修改时间。

更新

这显然是缓存的问题,因为如果我删除我之前请求的文件之一并再次请求它,我会得到 500 Internal Server Error 和堆栈跟踪!

正如 this thread 中所指出的,展开的 war 目录不适合放置可以更改的静态资源。

相反,应该使用文件系统上的其他目录并配置 undertow 子系统来为这些页面提供服务。例如参见 [​​=11=].