托管 VM JDO 数据存储

Managed VM JDO Datastore

我正在尝试将 AppEngine 项目迁移到 MVM,自定义运行时环境。

我遇到了 Memcache 问题,已通过替换解决:

CacheManager.getInstance().getCacheFactory().createCache ...
...

与:

new XMemcachedClient(
   System.getenv.get("MEMCACHE_PORT_11211_TCP_ADDR"), 
   Integer.parseInt(System.getenv.get("MEMCACHE_PORT_11211_TCP_PORT")))
...

(顺便说一句,如果有人遇到同样的问题,那么 XMemcached 的 maven 是:)

<dependency>
   <groupId>com.googlecode.xmemcached</groupId>
   <artifactId>xmemcached</artifactId>
   <version>2.0.0</version>
</dependency>

我现在面临 DataStore JDO 和 PersistenceManager(在项目中使用 DataNucleus)的问题。

基本上,我想替换这个:

JDOHelper.getPersistenceManagerFactory("xxx").getPersistenceManager() ...
...

与?...

是否有任何 "magic" 环境变量可用于组成地址(例如 MEMCACHE_PORT_11211_TCP_ADDR 和 MEMCACHE_PORT_11211_TCP_PORT 是 Memcache 的情况)?我可以通过任何其他方式与数据源通信(来自 MVM 项目)?

提前致谢,

奥哈德

您可能需要考虑使用 gcloud-java 项目来访问数据存储。这里的一大优势是您可以使用来自 App Engine、Container Engine 和 Compute Engine 的相同 code/client:

https://github.com/GoogleCloudPlatform/gcloud-java

希望对您有所帮助!