0
當閱讀有關Java的狀態和無狀態bean的文件,我有點明白,但有這種一般的情況下,使我困惑:需要澄清的Java狀態bean
- 我有一個Web服務,它需要在內存中數據來處理請求,並且這些數據通過Web服務請求添加到內存中,而不是從數據庫加載。爲了簡單起見,請考慮Web服務提供處理學生數據的方法,但首先,需要將班級中所有學生的數據放入內存中,假設數據只是暫時的,把它們從任何數據庫中加載並加載。
- 假設第一步我們有3個客戶端調用Web服務來將許多學生的數據添加到Web服務中。
- 第二步,每個客戶調用一個web服務方法,int getRank(student)表示,這個方法的實現只是循環所有學生的數據,並根據他在特定主題上的標記檢查輸入學生的排名。就這樣,一個整數將被返回,我們不需要存儲任何客戶服務相關的東西,所以我想我們不需要一個有狀態的bean。然而,由於在每次將學生數據發送到服務器之後,這些數據需要留在內存中,似乎我們在這裏有某種有狀態的東西,但我不知道它叫什麼,並且這是否使服務稱爲有狀態的Web服務。
謝謝你的任何想法。
謝謝。 「緩存」聽起來很複雜,如果我有一個全局數據收集對象,並且只是將項目添加到該列表中,該怎麼辦? – longbkit
緩存應該是「大部分讀取」的 - 你比它更頻繁地讀取緩存。這聽起來像你的多客戶端加載操作是週期性的,沒有寫入。真的嗎?如果沒有,您只需在寫操作和無效值期間進行同步,以確保沒有人看到過時的數據。查看產品 - EhCache和Terracotta是開源的。連貫性不是。 http://www.terracotta.org/ – duffymo
如果數據量不是太大,性能是第一優先,那麼我應該只使用全局數據集合而不是緩存? – longbkit