我在 ANT 中有一个 HTTPS GET 任务,它从我的服务器下载文件。问题是每次我必须下载一个文件时,我都必须生成一个新的 HTTPS 连接。
我有很多文件需要下载,所以自然地重新创建新的 HTTP 连接会导致一些悲伤。
ANT 中有没有办法重用 HTTPS/HTTP 连接,以便我可以通过同一个可重用连接下载所有文件?
不是开箱即用。要么编写自己的“get”任务,要么考虑其他替代方案,如scp task。
我突然想到一个自定义任务可以接受一个 ANT 文件集,然后使用 HTTP 连接池并行获取文件。
关键问题是这实际上有多大帮助。您是否测量过此问题导致的额外延迟?
也许不是尝试优化 HTTP 连接,而是并行获取文件可能更简单?以下代码使用 4 个线程:
<target name="fetch">
<parallel threadCount="4">
<get dest="file1.jar" src="https://..."/>
<get dest="file2.jar" src="https://..."/>
<get dest="file3.jar" src="https://..."/>
<get dest="file4.jar" src="https://..."/>
<get dest="file5.jar" src="https://..."/>
<get dest="file6.jar" src="https://..."/>
<get dest="file7.jar" src="https://..."/>
..
..
</parallel>
</target>