带有DataNucleus3.x缓存的JDO3.x:如何设置expirationTime和chack constancy

时间:2012-12-18 15:19:27

标签: google-app-engine jdo datanucleus

在datanucleus-api-jdo-3.1.0-m3中搜索缓存的良好文档。 很难找到一些最新的信息......

我试过这个:

        DataStoreCache cache = PMF.getDataStoreCache();
        cache.pinAll(false, MyClazz.class);
        JDODataStoreCache jdoCache = (org.datanucleus.api.jdo.JDODataStoreCache) cache;
        final Level2Cache l2 = jdoCache.getLevel2Cache();

我应该使用像javax.cache这样的外部缓存吗?如何做到这一点?

的问题:

  • 我怎么能证明pm正在使用缓存?
  • 如何设置缓存中对象的expirationTime?
  • 如何设置pm正在使用缓存仅用于读取而不是用于 写作?
  • 如果在中使用缓存,我会收到异常 write / update-transaction但与数据存储区不一致?
  • 是抛出异常的PM的方法“checkConsistency” 如果缓存不是最新的以及这种方法的“成本”是多少?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

不知道为什么你觉得很难找到信息。您可能会转到GAE文档,并且他们会针对所使用的版本转到相应的DataNucleus文档。你说你正在使用一些3.1版本(为什么在那之后有很多版本使用里程碑?使用3.1.3比非完整版本更有意义),所以你得到到http://www.datanucleus.org/products/accessplatform_3_1/index.html,然后只需选择“JDO API” - > “PMF” - > “L2缓存” - > “的JCache”

不确定我们如何才能让它更具逻辑结构