2017-07-25 5 views
1

ある場所から文書を読み込み、別の場所に書き込もうとしています。 DocumentMetadataHandleを使用してメタデータを取得し、InputStreamHandleを使用してコンテンツを読み取ります。場合は、私はストリームをスローするために使用される同じInputStreamHandleを使用して書き込みのためにストリームを閉じた例外。同じことが、私がDocumentMetadataHandleを読み込みで使用していないときは起こりません。以下のコードa。あなたが戻ってサーバーに書き込むためのメモリ内の文書をバッファリングしたい場合はJavaクライアントAPI 3.0.7DocumentMetadataHandleとInputStreamHandleを使って読み書きする

XMLDocumentManager documentManager = client.newXMLDocumentManager(); 
Transaction transaction = client.openTransaction(); 
InputStreamHandle handle = new InputStreamHandle(); 
DocumentMetadataHandle metadataHandle = new DocumentMetadataHandle(); 
documentManager.read(uri, metadataHandle, handle,transaction); 
documentManager.write(newUri, metadataHandle, handle, transaction); 
+2

ありがとう、Siju、私はあなたがバグを見つけたと信じています。 Erikのソリューションは、回避策を提供する必要があります。しかし、私はこれをgithubに記録しましたので、私たちはそれに対処できます:https://github.com/marklogic/java-client-api/issues/783 –

+0

Erik's? –

+0

BytesHandleを使用することを示唆する下記のehennumによる投稿。 – kcoleman

答えて

1

を使用して、InputStreamHandleの代わりにBytesHandle使用を検討してください。

DocumentMetadataHandleはメタデータをバッファします。

関連する問題