2015-03-11 7 views
1

Я хотел бы, чтобы кто-то дал мне разницу между методами createDocument и папками createDocument.Apache Chemistry CMIS session.createDocument vs folder.createDocument

Также в этом контексте есть образец того, как я мог бы использовать метод documentendendContentStream(), я изо всех сил пытался увидеть пример в Интернете, у меня есть требование, когда размеры документов могут быть до 300-350 МБ, и я был заинтересован чтобы узнать больше об appendContentStream() после того, как он был рекомендован на веб-семинаре Nuxeo Джеффом Поттом, хотя он упомянул размер около 1 ГБ.

ответ

3

Session.createDocument() создает документ и возвращает идентификатор документа. Folder.createDocument() создает документ и возвращает полный объект Document. Для этого Folder.createDocument() нуждается в еще одном кругообороте на сервер. Если вы просто хотите создать документ, и вы не заинтересованы в свойствах документа или разрешениях документа, а также в документах и ​​т. Д., Используйте вариант сеанса. Это быстрее.

Спецификация CMIS не ограничивает размер документа. Некоторые репозитории поддерживают загрузку документа из нескольких ГБ за один раз. Если такая загрузка не удалась, например, если есть проблема с подключением, вы должны повторить полную загрузку. appendContentStream() позволяет загружать документ в куски. Если загрузка фрагмента не удалась, вам нужно только повторить загрузку этого фрагмента. Если это имеет смысл, зависит от вашего приложения, вашего репозитория и вашей сети.

Существует пример appendContentStream() код (возможно, не является хорошим) в OpenCMIS TCK: https://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/SetAndDeleteContentTest.java?view=markup

+0

Отлично, большое спасибо Флориан. – tosi