我一直在尝试找出一种使用 JAX-RS 将多部分/混合内容作为流处理的标准兼容方式。默认情况下(如果我没记错的话)在容器将请求传递给服务之前,多部分片段存储在内存中或作为临时文件。
我更喜欢直接流而不是来自临时文件的流的原因是多部分/混合请求的每个部分都包含一个文件,该文件必须在单个事务中持久可靠存储(= 集群数据库)。因为通过系统传输的文件应该没有大小限制,并且客户端和服务器都位于本地网络中,所以将千兆字节的数据存储在临时文件中(在 SAN 上)将导致显着的性能损失。
有没有办法使用 JAX-RS 将部件直接流式传输到数据库?如果不是,我应该将服务实现为 servlet 还是将事务拆分为多个请求并使用 JAX-RS?将服务实现为 servlet 将需要一个流式多部分/混合兼容解析器,而拆分事务也不是一项简单的任务。