java Tomcat 8.5识别新内容的时间太长
我有以下问题,我在^{
我的Java应用程序一完成文件的编写,就会执行下载,供用户使用。这会产生一个严重的404错误
如果我等几秒钟,然后重新加载它下载的页面(或者在java中添加5秒睡眠,效果也一样)
所以,我的结论是,Tomcat花了5秒钟的时间来识别这个新的excel文件的存在,然后才能够为它提供服务
有没有办法让Tomcat更快地完成这项任务?也许在网络中使用一些配置。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只是执行下载,作为文件的链接李>
wiriting工作得很好,因为我在文件资源管理器中看到它已经准备好并且可以写,但是如果我尝试通过URL打开它,我会得到相同的404
# 1 楼答案
默认情况下
Resources
会被缓存。缓存项重新验证之间的时间量(毫秒)由cacheTtl
参数定义,在this documentation中引用。默认情况下,其值为5秒如果要禁用缓存,只需将
cachingAllowed
设置为false