2013-03-23 18 views
0

Google GUICE Singleton對象在Google App引擎上下文中使用時是否真的單身?如果不是我如何確保真正的單身人士行爲?AppEngine中的Guice Singleton

+0

定義您對「真正的單例行爲」的解釋:每個請求,每個Guice注入器,每個類加載器,每個JVM,每個AppEngine應用程序有一個實例...?另外,你想用這個單例實現的目標是什麼? – 2013-03-24 12:29:13

+0

每個應用程序引擎應用程序有一個單例。我想爲每個請求增加一個值。並將其保存在數據庫中。 – budsiya 2013-03-24 15:29:16

+0

您可以詳細說明如何按每個請求遞增值,例如你想計算所有前端實例中的請求數量嗎?無論如何,該解決方案可能會調用[memcached](https://developers.google.com/appengine/docs/java/memcache/overview)來獲取讀取性能,Datastore進行持久化並可能[sharded counting](https://開發人員.google.com/appengine/articles/sharding_counters)的寫入性能(如果需要多個增量/秒)。 – 2013-03-24 18:27:14

回答

2

一個Guice單身人士是一個單身人士,只有在它創建的Guice注射器下。它不是JVM中的單例或其他任何方式。如果您需要併發進程以獲得一些數據的一致視圖,則應該使用數據庫或其他一些同步手段。