Как предотвратить кэширование ответов Alfresco webscript - PullRequest
0 голосов
/ 08 декабря 2010

У меня есть сценарий на открытом воздухе, который делает что-то простое: читает свойство и, основываясь на его значении, создает ответ json.Другой веб-скрипт отвечает за обновление этого свойства.Однако ответ исходного сценария иногда кэшируется, и не для всех клиентов.

Итак, для одного клиента я получаю текущий статус, а для другого - предыдущее состояние.

Webscript в основном считывает свойство из узла (nodeRef был отправлен в запросе webscript):

var status = doc.properties["my:customProp"];
switch (status) {
  case "something":
     model.prop = "FirstResponse";
  break;
  case "somethingElse":
     model.prop = "SecondResponse";
  break;
  default:
     model.prop = "ThirdResponse";
}    

Затем шаблон freemarker анализирует проп и создает вывод json для ответа.

Теперь это должно быть просто и понятно.Вариант использования следующий: 1. Когда пользователь № 1 впервые попадает в документ, статус был установлен на «что-то».Он получил «FirstResponse» и с помощью веб-сценария изменил его.

  1. Когда он снова получает документ, он получает второй ответ.

  2. Но если второй клиент получает доступ к этому же узлу и запрашивает ответ, он все равно получает первый ответ, и даже больше, когда я пытаюсь прочитать эту подпорку, я получаю «старую» подпорку.

Итак, я обновляю сценарий от двух клиентов и читаю это свойство, один клиент получает одно значение, другой получает другое значение.

Мое единственное предположение (до сих пор) состоит в том, что этоэто проблема кешированияИтак, как мне предотвратить кеширование?И где это случилось?Hibernate?Какой-то кеш репозитория?Как от этого избавиться?

Ответы [ 2 ]

0 голосов
/ 06 января 2011

Ну, нашел проблему здесь, реквизит был определен как d: mltext. Так что это была не кэшированная информация, а просто многоязычная информация. Мне пришлось расширить модель и добавить новую опору, которая мультиязычна, теперь все пользователи имеют одинаковую информацию.

0 голосов
/ 10 декабря 2010
...