Je suis extrêmement confus avec cet exemple d'application que j'ai mis en place sur google app engine. voici ce que j'ai:Comment la variable d'instance fonctionne sur Google App Engine? [Java]
package com.ha.ha.ha;
import java.io.IOException;
import javax.servlet.http.*;
@SuppressWarnings("serial")
public class SecondTrialServlet extends HttpServlet {
private static int sCounter = 0;
private int mCounter = 0;
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("sCounter is : " + (sCounter++));
resp.getWriter().println("mCounter is : " + (mCounter++));
}
}
et quand je frappe mon localhost (ou version déployée pour cette matière), sur la page du navigateur, et actualiser la page 9 fois, je vois:
sCounter is : 9
mCounter is : 9
Pourquoi cela arrive-t-il? Je pensais que les variables d'instance sont supposées être "effacées" ou quelque chose quand je fais une nouvelle requête (actualisation de la page du navigateur).
combien de temps puis-je m'attendre à ce que le compteur continue? comme si je mis là un rafraîchissement de la page, va-t-il continuer jusqu'à Integer.MAX_VALUE
?
est-ce seulement parce que j'ai 1 "instance" up ?? si oui, combien de temps puis-je attendre que cette instance continue de fonctionner?
Je veux construire une application simple qui garde quelques hashmaps indéfiniment. Je ne m'attends pas à ce que l'application web ait du trafic (peut-être moins de 100 demandes par jour). puis-je stocker tout comme je le fais avec la variable compteur?