Bonjour,
Je ne comprends pourquoi mon code réagit différemment sous GAE et en en local (malgré tout je sais qu'il existe des limites assez restrictives de GAE dans l'environnement d'exécution, mais quand même).
Voici mon interrogation:
Je suis dans ma servlet.
Ma première question: on parle bien d'un unique servlet par requête?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Mon interface graphique à 2 boutons. Chacun est relié à une fonction différente:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Commun:
IE: Je clique sur le bouton 1 pour exécuter ma fonction getSessionID().
> Tout de suite, j'ai ma réponse (je reçois l'ID de session).
Mozilla: je fais la même opération. Résultat identique sauf que je récupère un id de session différent.
IE: Je clique sur la bouton 2 qui lance la fonction getSessionIDAvecWAIT().
5 secondes après je récupère un id de session.
Maintenant, voyons le test clé qui a un fonctionnement différent sous GAE et en local.
Cas 1: en mode debug (local).
IE: Je lance la deuxième fonction (avec le wait(5sec)).
Mozilla: et je lance juste après (1 sec maximum) la fonction 1.
Mozilla:Je reçois immédiatement sous Mozilla mon résultat (id de session).
IE: Je reçois sous IE l'id de session 5 secondes après.
Cas 2: GAE
IE: Je lance la deuxième fonction (avec le wait(5sec)).
Mozilla: et je lance juste après (1 sec maximum) la fonction un.
Mozilla Je ne reçois pas sous Mozilla mon résultat (id de session).
IE:Je reçois sous IE l'id de session 5 secondes après.
Mozilla: Et une fois le message sur IE arrivé, le message sous Mozilla apparaît.
Ma question: Pourquoi?
Le synchronized + le wait sur l'objet a verrouillé le thread courant. Je suis OK. Mais n'y-a-t-il pas de thread différent? 1 par requête? Le wait bloque tout le serveur on dirait...
edit: peut-être est-ce lié au cloud computing?
En attente d'avoir une réponse sur ce sujet. Merci !
RL

 

 
		
		 
        

 
			
			

 
   


 Exécution différente entre debug mode et GAE?
 Exécution différente entre debug mode et GAE?
				
 Répondre avec citation
  Répondre avec citation



Partager