0

Jackrabbitリポジトリに大きなファイルを書き込む必要があります。メモリの問題を回避するために、クライアントから小さなバイト配列でデータを送信したいのですが、ステートフル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 に答える