在App Engine中使用com.google.appengine.api.memcache.MemcacheService進行緩存,我使用工廠創建了memcacheservice實例,並使用spring將其注入到類中一個單身。Google App Engine GAE MemcacheService Spring的單點注入
我在問這是否正確和最佳,以及是否有人對使用lazy-init選項或synchronized()的正面或負面影響進行了輸入。我想回答這個問題的結果是以這種方式使用memcacheservice的最佳方式。
謝謝!
廠:
public class CacheFactory {
private static MemcacheService INSTANCE;
private CacheFactory() {
}
public static MemcacheService getInstance() {
if (INSTANCE == null) {
synchronized(CacheFactory.class){
INSTANCE = MemcacheServiceFactory.getMemcacheService();
}
}
return INSTANCE;
}
}
的Spring bean:
<bean id="cacheFactory" class="com.nimbits.server.transactions.memcache.CacheFactory"
factory-method="getInstance" lazy-init="false" scope="singleton" >
</bean>
示例用法:
<bean id="someService" class="SomeServiceImpl">
<property name="cacheFactory" ref="cacheFactory" />
</bean>
我想添加一條評論,說明這段代碼完美工作,表現非常好。我想確保它被優化以處理應用程序引擎環境的極高負載。 – bsautner