Tomcat openStream下载文件需要很长时间

Tomcat openStream下载文件需要很长时间,tomcat,grails,groovy,download,Tomcat,Grails,Groovy,Download,我有一个web应用程序试图从另一个web应用程序下载文件 当我的webapp运行缓慢时,从另一个webapp(部署在tomcat6服务器中)下载的速度非常快。 然后,当我部署我的webapp(在同一台服务器上)时,下载同一个文件需要很长时间(几分钟) 我使用的代码如下: response.setHeader "Content-disposition", "attachment; filename=fileName" response.contentType = 'application/zip'

我有一个web应用程序试图从另一个web应用程序下载文件

当我的webapp运行缓慢时,从另一个webapp(部署在tomcat6服务器中)下载的速度非常快。 然后,当我部署我的webapp(在同一台服务器上)时,下载同一个文件需要很长时间(几分钟)

我使用的代码如下:

response.setHeader "Content-disposition", "attachment; filename=fileName"
response.contentType = 'application/zip'
response.outputStream << new URL(address).openStream()
response.outputStream.flush()
response.setHeader“内容处置”,“附件;文件名=文件名”
response.contentType='application/zip'

response.outputStream我认为您的问题是grails试图将所有文件加载到内存中。试试这个:

    new URL(address).withInputStream { response.outputStream << it }

新URL(地址)。使用inputstream{response.outputStream by“deploy my webapp`你的意思是
>grails run war
?是的,我生成war,然后将其部署到服务器中,我会说,使用
HttpBuilder
获取远程文件。它提供了更多的控制,你可以跟踪下载的内容和方式。
URL.openStream()
适用于简单脚本