java - Caching singleton in memcache -


i developing in google app engine since 1 year ago , understanding how important warmup time instances. ended idea: possible cache singleton in memcache? example using singleton pattern jdo persistencemanagerfactory.

here actual code (as described in documentation):

    private static persistencemanagerfactory pmfinstance = jdohelper.getpersistencemanagerfactory(<my-name>); 

does have sense extend jdohelper , write function one:

public static persistencemanagerfactory getpersistencemanagerfactorycached(string name) {     memcacheservice cache = memcacheservicefactory.getmemcacheservice();;     persistencemanagerfactory staticpmf= null;     if (cache.contains("jdo_pmf")) {         staticpmf = (persistencemanagerfactory) cache.get("jdo_pmf");     } else {         staticpmf = jdohelper.getpersistencemanagerfactory(name);         cache.put("jdo_pmf", staticpmf);     }     return staticpmf; } 

my idea should cache persistencemanagerfactory speed-up first instance , use 1 singleton:

private static persistencemanagerfactory pmfinstance = jdohelpercached.getpersistencemanagerfactory(<my-name>); 

edit: found link, seems different instances cannot share persistencemanagerfactory instance according ikai lan @ https://groups.google.com/group/google-appengine-java/browse_thread/thread/1b90fae408b52d49

==========================================================================

i idea, , have tried straight away on code, unfortunately got error this:

javax.jdo.jdofataluserexception: no available storemanager found datastore url key "". please make sure have relevant plugins in classpath (e.g datanucleus-rdbms?, datanucleus-db4o?), , consider setting persistence property "datanucleus.storemanagertype" type of store using e.g rdbms, db4o 

maybe it's issue can't tell @ stage.

i have thought more:

so let's assume way suggest working , can right factory need. real performance depend on how use memcache.

1) if have lot of write in memcache, means potentially persistencemanagerfactory may kicked out of cache frequently, means need create again.

2) every time create new persistencemanagerfactory, put in cache according experience dealing gae pretty unstable , put in part can take longer expected.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -