我有一个使用Java和JAX-RS制作的REST API。最近,我们有一项要求,要求我们将接受八位字节流的端点转发到另一个端点,以进行进一步处理。端点接受了大文件,这些文件会在临时将文件存储到磁盘后将其上传到HDFS。
当我使用RequestDispatcher.forward()方法时,端点需要很长时间来处理请求。如果文件大于35-40MB,服务器甚至没有响应。
我的猜测是,每个端点在转发流之前将八位字节流文件保存在某个缓冲区中。但是,当我检查jconsole时,内存使用情况是相同的。
所以,我的问题是,RequestDispatcher.forward()对八位字节流终结点有何影响?我的端点是否可以解决此问题,以支持大型八位位组流,并且仍然能够将请求转发到其他某些端点?