gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:18 25 4
gpt4 key购买 nike

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

首先,为什么谷歌页面上没有关于这个的文档?它有一些问题吗?我们是否需要设置限制来保护我们的内存缓存配额?

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

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

就这些了吗?我们可以选择任何缓存名称吗?

Other sources在 Internet 报告中使用不同的设置。

此外,我们似乎需要下载 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"/>

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

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

此时,缓存应该会在您每次使用 PersistenceManager 放入和获取时自动发生。万岁!

关于java - Google App Engine 上的 Datanucleus/JDO 二级缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2011450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com