是的,从基于File的文件发布数据时,现在支持零拷贝
Resource。
因此,以下内容看起来正确:
client.post() .body(BodyInserters.fromResource(new FileSystemResource(new File("file.txt"))));现在,对于阅读部分,Spring framework中的阅读侧目前不支持零复制;您可以为此在jira.spring.io上创建一个增强问题。
您的代码示例应如下所示:
Flux<DataBuffer> incoming = client.post() .retrieve().bodyToFlux(DataBuffer.class);Mono<Void> writeOperation = DataBufferUtils.write(incoming, channel) .map(DataBufferUtils::release) .then();// subscribe to the returned value, which will complete when writing is done
不幸的是,读取数据
DataBuffer不会进行零复制,因为数据将被复制到内存中。我认为在阅读方面不支持零拷贝,因此这可能是对https://jira.spring.io的增强请求。



