Apache Chemistry OpenCMIS — проблема с кэшированием

Я пишу код, используя API-интерфейсы Apache Chemistry для подключения к репозиторию Alfresco. Мой код выглядит так:

Step 1 - Create folders
Step 2 - Create document with only metadata and no content inside those folders.
Step 3 - Push content into those documents.

Первое время заводится нормально. Затем я удаляю папку с помощью пользовательского интерфейса Alfresco Share, а не API-интерфейсов Apache Chemistry. Затем я снова запускаю тот же код. В следующий раз, когда папки будут созданы, но при создании документа будет написано:

Parent folder not found: 9ffbf884-0aa5-49df-84e0-feea797b2f20

После отладки я выяснил, что ID принадлежит той папке, которая была создана при первом выполнении кода. Каким-то образом кеш содержал старый идентификатор папки и не обновлялся, когда я создавал папку с тем же именем во второй раз.

Чтобы решить эту проблему, я отключил кеширование, и код работал нормально.

Каковы последствия переключения кэша? Не повлияет ли это на производительность системы? В репозиторий контента совершаются существенные вызовы. Любые другие предложения по решению этой проблемы приветствуются.


person Arunava Pal    schedule 16.01.2018    source источник


Ответы (1)


Отключение кеша может повлиять на производительность, поскольку OpenCMIS может потребовать дополнительных вызовов репозитория. Сколько дополнительных вызовов требуется, зависит от вашего приложения.

Подробнее о кэшировании здесь: https://chemistry.apache.org/docs/cmis-samples/samples/retrieve-objects/index.html#understanding-the-object-cache

person Florian Müller    schedule 16.01.2018