2013-02-21 73 views
3

我需要維護Web應用程序中的對象列表。該列表可以被Web應用程序的任何用戶查看或修改(項目添加或刪除)。幾乎同時有很多用戶訪問(修改)列表的機會。分享清單的正確方法是哪一種。我可以想到2種方法。在Web應用程序的不同用戶之間共享對象的正確方法

  1. 靜態變量
  2. ServletContext的

請讓我知道哪一個是正確的,這是爲什麼。另外,請讓我知道是否還有其他更好的方法。

編輯問題是在應用程序的不同用戶之間共享對象。

+1

數據庫。這就是數據庫的用途。他們會爲你處理ACIDity。您在內存中維護的任何內容都不會被其他服務器上運行的另一個應用程序實例訪問。 – 2013-02-21 12:35:23

+0

@JB Nizet:許多人同時訪問會增加數據庫的負擔。還有其他模塊使用數據庫。所以流量會很高。 – Prabhat 2013-02-21 12:44:52

+0

如果您使用的是Jboss,您可以嘗試一種內存集羣緩存的形式 下面的鏈接有更多信息http://docs.jboss.org/jbosscache/1.4.0/TreeCache/en/html/replication.html – artfullyContrived 2013-02-21 12:54:42

回答

0

您可以使用數據庫,自定義數據源(簡單列表包裹通過DataSource接口)等等,但是...

Web應用程序

的任何實例它應該是any user of webapp,對?

+0

許多人同時訪問會增加數據庫的負擔。還有其他模塊使用數據庫。所以流量會很高。 – Prabhat 2013-02-21 12:45:13

+0

NoSQL DB或內存數據庫像H2)? – 2013-02-21 12:55:22

+0

在應用程序本身尋找處理。 – Prabhat 2013-02-21 13:00:35

1

數據庫如果速度不是最重要的因素。 如果你需要速度,一些帶鎖的共享內存解決方案是好的。如Hazelcast http://www.hazelcast.com/

相關問題