2017-07-25 90 views
1

嘗試從一個位置讀取文檔並寫入其他位置。使用DocumentMetadataHandle來獲取元數據和InputStreamHandle來讀取內容。對於寫時,我使用相同的InputStreamHandle,我用於讀拋流封閉異常。當我在閱讀中不使用DocumentMetadataHandle時,情況也是如此。編碼如下。使用Java客戶端API 3.0.7使用DocumentMetadataHandle和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,我相信你找到了一個bug。 Erik的解決方案應該爲您提供解決方法。然而,我已經在github上記錄了這個,所以我們可以解決它:https://github.com/marklogic/java-client-api/issues/783 –

+0

Erik's SOlution? –

+0

ehennum的帖子,建議使用BytesHandle。 – kcoleman

回答

1

如果你想在內存中緩衝文件寫回服務器,你可能會考慮使用InputStreamHandle的BytesHandle代替。

DocumentMetadataHandle會緩衝元數據。