Tomcat 8.5 识别新内容的时间太长
Tomcat 8.5 takes too long to recognize new content
我有以下问题,我在C:\Tomcat85\webapps\MyWebApp\Excel\myExcel.xls
中写了一个Excel文件。
我的 Java 应用程序完成文件写入后,它会执行下载以供用户使用。这给出了一个讨厌的 404 错误。
如果我等待几秒钟并重新加载页面,它就可以正常下载(或者在 java 中添加五秒钟的休眠,效果相同)。
所以,我得出的结论是 Tomcat 需要 5 秒才能识别出这个新的 excel 文件存在,然后才能提供它。
有没有办法让 Tomcat 更快地执行此任务?也许在 web.xml 中使用一些配置来以不同方式处理“/Excel/”文件夹。
Windows 10 64 位,Tomcat 8.5,Java 7(可以尝试 java8,但我认为这不会有什么不同)。
一些代码:
new ExcelExport(remoteHandle, context).execute( outFileName, outMessage);
// Thread.sleep(5000);
httpContext.wjLoc = formatLink(outFileName);
- 根据测试对睡眠进行注释或取消注释。没有睡眠,我得到 404,在 5 秒内睡眠它工作正常。
- httpContet.wjLoc 只是执行下载,作为文件的 link。
接线工作正常,因为我在文件资源管理器中看到它已准备就绪且可写,但如果我尝试通过 URL 打开它,我会得到相同的 404。
Resources
默认缓存。缓存条目重新生效之间的时间量(以毫秒为单位)由 cacheTtl
参数定义,在 this documentation 中引用。默认情况下,它的值为 5 秒。
如果要禁用缓存,只需将cachingAllowed
设置为false
即可。
我有以下问题,我在C:\Tomcat85\webapps\MyWebApp\Excel\myExcel.xls
中写了一个Excel文件。
我的 Java 应用程序完成文件写入后,它会执行下载以供用户使用。这给出了一个讨厌的 404 错误。
如果我等待几秒钟并重新加载页面,它就可以正常下载(或者在 java 中添加五秒钟的休眠,效果相同)。
所以,我得出的结论是 Tomcat 需要 5 秒才能识别出这个新的 excel 文件存在,然后才能提供它。
有没有办法让 Tomcat 更快地执行此任务?也许在 web.xml 中使用一些配置来以不同方式处理“/Excel/”文件夹。
Windows 10 64 位,Tomcat 8.5,Java 7(可以尝试 java8,但我认为这不会有什么不同)。
一些代码:
new ExcelExport(remoteHandle, context).execute( outFileName, outMessage);
// Thread.sleep(5000);
httpContext.wjLoc = formatLink(outFileName);
- 根据测试对睡眠进行注释或取消注释。没有睡眠,我得到 404,在 5 秒内睡眠它工作正常。
- httpContet.wjLoc 只是执行下载,作为文件的 link。
接线工作正常,因为我在文件资源管理器中看到它已准备就绪且可写,但如果我尝试通过 URL 打开它,我会得到相同的 404。
Resources
默认缓存。缓存条目重新生效之间的时间量(以毫秒为单位)由 cacheTtl
参数定义,在 this documentation 中引用。默认情况下,它的值为 5 秒。
如果要禁用缓存,只需将cachingAllowed
设置为false
即可。