0

我需要在 Jackrabbit 存储库中编写大文件。为了避免内存问题,我想以小字节数组的形式从客户端发送数据,并且 stateful-bean 会将它们以某种流的形式写入存储库。

PS对不起英语不好。

4

1 回答 1

0

在 JCR 2.0 中,您可以通过

Node.setProperty(java.lang.String name,Binary value) 

方法,并且 Binary 有一个 getInputStream() 方法,您可以使用它来提供内容流。

这意味着如果存储库实现支持流式传输并且您正确设置了整个链,您应该能够直接从客户端流式传输到存储库。我假设 Apache Jackrabbit 在这种情况下确实支持流式传输,但您可能需要根据您使用的版本进行检查。

我认为 JCR 不支持将流附加到现有属性,因此如果您绝对需要跨多个请求从客户端发送数据,则需要在多个客户端请求之间保持长期 JCR 会话,并提供二进制文件从您从客户端获得的数据中以小块的形式流式传输。这看起来比直接流式传输更复杂,但也应该可以工作。

于 2013-01-23T08:42:19.070 回答