2016-03-31 2 views
0

J'essaie de migrer un projet AppEngine vers MVM, environnement d'exécution personnalisé.Banque de données VM JDO gérée

Je fait face à un problème avec Memcache, qui a été résolu en remplaçant:

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

avec:

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

(BTW, si quelqu'un a des mêmes problèmes, alors Maven pour XMemcached est :)

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

Je suis maintenant face à un problème avec DataStore JDO et PersistenceManager (en utilisant DataNucleus en le projet).

Fondamentalement, je cherche à remplacer:

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

avec ...

Existe-t-il des variables d'environnement « magiques » je peux utiliser pour composer l'adresse (comme le MEMCACHE_PORT_11211_TCP_ADDR et MEMCACHE_PORT_11211_TCP_PORT? est le cas de Memcache)? Tout autre moyen que je peux communiquer la source de données avec (à partir d'un projet MVM)?

Merci à l'avance,

Ohad

Répondre

1

Vous voudrez peut-être envisager d'utiliser le projet gcloud-java pour accéder datastore. Le grand avantage est que vous pouvez utiliser le même code/client App Engine, Engine Container et Compute Engine:

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

Hope this helps!