2013-03-23 22 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中的单例或其他任何方式。如果您需要并发进程以获得一些数据的一致视图,则应该使用数据库或其他一些同步手段。