Apache Chemistry CMIS session.createDocument vs folder.createDocument

Я хотел бы, чтобы кто-то дал мне разницу между методами сеанса createDocument и папки createDocument.

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

1 ответ

Решение

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

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

E сть 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

Другие вопросы по тегам