2012-05-04 24 views
0

我正在將Restlets用於REST體系結構。 REST類訪問數據庫並將結果作爲JSON返回。如何在RESTlets中爲多個請求訪問持久陣列

我有一個實例,我只想去數據庫一次並將結果存儲在一個數組列表中,以便每個後續的REST請求都可以訪問它的數據。

這裏是初始化過程的代碼:

 if(myArray == null){ 
      System.out.println("retrieving my array"); 
     passports = getMyArray(); 
     }else{ 
      System.out.println("in memory"); 
     } 

,如果這是理想地運行,「檢索我的數組」會從第一個REST請求調用,從用戶的下一個請求會導致「在記憶中」打印。

這不會發生,每個請求都會觸發「檢索我的數組」條件。 我該如何做到這一點?

回答

1

REST按定義爲無狀態,但您始終可以將您的數組存儲在靜態變量中,該變量在第一次需要時進行初始化。

+0

如果狀態沒有從前一個請求中持久化,下一個休息請求如何訪問靜態變量? – Atma

+0

它仍然是JAVA,靜態變量跨實例存在; – koma

+0

所以如果靜態變量最初是空的,然後我出去到數據庫並在第一次請求時填充靜態變量,它將持續跨請求?感謝您的幫助Koma – Atma