我有一個webscript在露天做一些簡單的事情:讀取一個屬性,並根據它的值創建一個json響應。另一個webscript負責更新這個屬性。但是,原始腳本的響應有時會緩存,而不是所有客戶端。如何防止Alfresco webscript響應緩存
因此,對於一個客戶端,我獲得當前狀態,而另一個客戶端則獲得以前的狀態。
的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」,並通過一個webscript改變了它。
當他再次獲得文檔時,他得到第二個響應。
但是,如果第二個客戶端訪問同一個節點並要求響應,它仍會得到第一個響應,甚至更多,當我嘗試讀取該道具時,我會得到「舊」的道具。
因此,我刷新兩個客戶端的腳本並閱讀此屬性,一個客戶端獲取一個值,另一個獲取另一個值。
我唯一的猜測(到目前爲止)是這是一個緩存問題。那麼,我該如何防止緩存?它發生在哪裏?休眠?某種存儲庫緩存?如何擺脫它?
不,這沒有幫助。緩存設置在web腳本中,除此之外 - 如果webscript響應來自緩存 - 那麼一個用戶如何得到一個響應,另一個用戶又如何? – Zlatko 2010-12-13 07:23:57