Je suis en train d'avoir une application GAE que tout ce qu'il fait est d'enregistrer des utilisateurs et des contacts associés avec eux et retourner leur statut en ligne. Si en ligne retourner leur adresse IP. J'ai donc une entité JPA avec l'ID utilisateur et la liste de contacts, et un champ IP transitoire. Chaque fois qu'un utilisateur se connecte, je le garde dans une carte.Quand les variables statiques de servlet gced dans gae?
private static final Map<String, SSUser> connectedRegisteredUsers = new HashMap<String, SSUser>();
Maintenant, la surprise est qu'il semble qu'après un certain temps la carte est vidée, et oubliera les utilisateurs. Je ne sais pas pourquoi cela pourrait se produire, comment la vérifier (à côté de l'observation du comportement), et alternative existe, à côté de stockage de la propriété intellectuelle dans le datastore, aussi.
http://code.google.com/appengine/docs/java/memcache/usingjcache.html – simpatico
Dans mon cas, je dois le datastore. – simpatico