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