알프레스에서 뭔가 간단한 작업을 수행하는 웹 스크립트가 있습니다. 속성을 읽고 그 값을 기반으로 json 응답을 만듭니다. 이 속성을 업데이트하는 또 다른 웹 스크립트가 있습니다. 그러나 원본 스크립트의 응답은 때로는 캐시되며 모든 클라이언트가 응답하지는 않습니다.Alfresco 웹 스크립트 응답 캐싱을 방지하는 방법
그래서 한 클라이언트의 경우 현재 상태가 표시되고 다른 상태는 이전 상태가됩니다.
는 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";
}
프리 마커 템플릿 다음 지지대를 분석하고 대응하는 JSON 출력을 생성한다.
이제 간단하고 간단해야합니다. 사용 사례는 다음과 같습니다. 1. 사용자 # 1이 처음으로 문서를 가져 오면 상태가 "무언가"로 설정되었습니다. 그는 "FirstResponse"를 얻었고, 웹 스크립트로 그는 그것을 바 꾸었습니다.
그는 문서를 다시 가져 오면 두 번째 응답을받습니다.
그러나 두 번째 클라이언트가이 노드에 액세스하여 응답을 요청하면 여전히 응답을받으며, 그 소품을 읽으려고하면 "이전"소품이 나옵니다.
그래서 두 클라이언트의 스크립트를 새로 고치고이 속성을 읽으면 한 클라이언트는 하나의 값을 얻고 다른 클라이언트는 다른 값을 얻습니다.
내 생각에 (지금까지) 이것은 캐싱 문제입니다. 그렇다면 캐싱을 방지하려면 어떻게해야합니까? 그리고 그것은 어디에서 일어 났습니까? 최대 절전 모드? 어떤 종류의 저장소 캐시? 그것을 제거하는 방법?
아니요, 도움이되지 않습니다. 캐싱은 webscript와 all에 설정되어 있습니다. 게다가 webscript 응답이 캐시에서 온 것이면 어떻게 한 사용자가 하나의 응답을 얻고 다른 하나는 다른 응답을 얻게됩니까? – Zlatko