编程语言
首页 > 编程语言> > java-Google App Engine上的Datanucleus / JDO 2级缓存

java-Google App Engine上的Datanucleus / JDO 2级缓存

作者:互联网

是否可以(并且有意义)为Google App Engine数据存储区使用JDO 2级缓存?

首先,为什么Google的页面上没有关于此的文档?有什么问题吗?我们是否需要设置限制以保护我们的内存缓存配额?

根据DataNucleus on Stackoverflow,您可以设置以下持久性属性:

 datanucleus.cache.level2.type=javax.cache
 datanucleus.cache.level2.cacheName={cache name}

这就是全部?我们可以选择任何缓存名称吗?

Internet上的Other sources报告使用不同的设置.

另外,似乎我们需要下载DataNucleus Cache support plugin.哪个版本合适?并且我们只是将其放置在WEB-INF / lib中还是需要更多设置才能激活它?

解决方法:

在弄清楚这一点之前,您必须回答一个问题:

您正在使用哪个版本的DataNucleus?

这篇文章中的所有内容都与旧版本的插件-v1有关.直到最近,Google插件Eclipse才支持AppEngine的DataNucleus插件的v2版本(基本上是AppEngine和DataNucleus Core之间的管道).

我建议您将AppEngine的Datanucleus插件升级到v2-如果您使用的是Eclipse,这很容易-有一个UI供您选择v1或v2.只需转到您的项目属性,找到App Engine设置,然后查找“ Datanucleus JDO / JPA版本”.

另外,您必须对jdo-config.xml进行更改.具体来说,您只需要更改一个属性:

<property name="javax.jdo.PersistenceManagerFactoryClass" value="org.datanucleus.api.jdo.JDOPersistenceManagerFactory"/>

因此-升级到v2后,这就是您指定缓存(jdoconfig.xml的补充)的方式:

<property name="datanucleus.cache.level2.type" value="jcache"/>
<property name="datanucleus.cache.level2.cacheName" value="NameItWhateverYouWant"/>

此时,每次使用PersistenceManager放置和获取缓存时,缓存应自动发生.万岁!

标签:jdo,caching,google-app-engine,datanucleus,java
来源: https://codeday.me/bug/20191106/2001925.html