Обновление профильных документов в XPages - PullRequest
1 голос
/ 23 сентября 2011

Я создал документ профиля в Lotus Notes, который сохраняет логическое значение.Затем я создал XAgent, который возвращает значение в виде простого текста (true или false).Проблема заключается в следующем: когда я изменил значение документа профиля в клиенте Lotus Notes, измененное значение не возвращается XAgent, даже если я попытался обновить страницу XAgent, закрыть браузер или использовать другой браузер.Изменение появляется только при перезапуске задачи HTTP («скажите http restart») на сервере.Есть ли способ всегда получить свежие значения профиля документа сразу?Я часами искал, как программно очистить кеш веб-сервера и т.п., но безрезультатно.Я знаю, что профильные документы не должны часто меняться, но я делаю это ради тестирования.

Пожалуйста, помогите мне.

Большое спасибо!: D

Ответы [ 2 ]

5 голосов
/ 28 сентября 2011

Используете ли вы настоящий документ "Профиль", подобный этому?

Call workspace.EditProfile("Interest Profile", session.UserName)

Документы профиля существуют уже очень давно, и их использование должно было быть достаточно простым и не предназначенным для регулярного обновления.,С тех пор его неправильно истолковывают как общую «блокнотную записку» для процессов.

Как правило, я не рекомендую их использовать, потому что в профиле Domino кешируются документы независимо от HTTP, и ими более неудобно управлять.Это особенно сложно, когда у вас есть реплики, плавающие на других серверах.

Таким образом, альтернативой является использование обычных документов и доступ к ним с помощью обычного метода getdocumentByKey .Это позволяет вам управлять ими напрямую, что, в свою очередь, упрощает обслуживание.

3 голосов
/ 24 сентября 2011

По соображениям производительности механизм Domino http (и XPages) кэширует страницы и документы. И это включает в себя профильные документы.

Один из обходных путей, который бы сработал, - обновить документ профиля не через клиент Notes, а через веб-агент. Таким образом, механизм HTTP запускает агент, поэтому он должен иметь возможность распознавать, что профиль изменился и что его кэш необходимо перестроить.

Другим обходным решением было бы - если это решение только для Xpages - использовать переменные области действия и файлы свойств для хранения информации.

Кроме этого, единственное «решение», о котором я могу подумать, - это повторно реализовать «профильные документы» с «обычными» документами и представлениями.

...