Servlet : Attente au sein d'une webapp - Java - Programmation
Marsh Posté le 26-10-2004 à 16:51:08
ouais, logiquement, seul 1 thread devrait être impacté ...
qu'est ce qui te fait dire qu eton tomcat est bloqué ? une cooecntion vers un fichier static (servit pas la DefaultServlet) bloque ?
Marsh Posté le 26-10-2004 à 17:00:03
je sais que ça ne repond pas à la question, mais tu afficherais pas plutot une image statique du genre "en attente, veuillez reessayer plus tard" ?
(avec un bouton refresh a un endroit bien visible pour les neuneus?)
Marsh Posté le 26-10-2004 à 17:53:06
the real moins moins a écrit : je sais que ça ne repond pas à la question, mais tu afficherais pas plutot une image statique du genre "en attente, veuillez reessayer plus tard" ? |
Non non, parce qu'en principe, l'image apparait au bout d'une à 2 secondes. Et puis je peux pas me permettre de faire cliquer l'utilisateur une fois de plus. On criorait pas, mais c'est souvent tatillon un client !
Marsh Posté le 26-10-2004 à 17:54:12
con serait plus approprié
en fait, ton image n'est jamais generée *avant* que le bordel soit appelé par la servlet?
Marsh Posté le 26-10-2004 à 17:56:17
benou a écrit : ouais, logiquement, seul 1 thread devrait être impacté ... |
Je suis pas encore sur à 100%, 'faut que je fasse des tests.
Pas de connexion vers un fichier static.
Marsh Posté le 26-10-2004 à 17:57:39
euh t'es sur que Thread.sleep(1000); c'est correct? faut pas faire un truc du genre Thread.getCurrentThread().sleep(x) ?
(--, n00b total en threads)
Marsh Posté le 26-10-2004 à 18:00:04
c'est pareil j'pense. QUand je fais Thread.sleep(1000) ça s'applique au thread courant.
Marsh Posté le 26-10-2004 à 18:05:53
hmmm, ouais d'après la javadoc, en effet..
Marsh Posté le 26-10-2004 à 18:14:23
ReplyMarsh Posté le 26-10-2004 à 18:37:02
ReplyMarsh Posté le 26-10-2004 à 21:08:51
ReplyMarsh Posté le 26-10-2004 à 21:25:53
ben euh je vois pas bien le lien en fait. (ça doit etre évident, mais je sais pas, moi et les threads...)
Marsh Posté le 26-10-2004 à 21:59:13
the real moins moins a écrit : ben euh je vois pas bien le lien en fait. (ça doit etre évident, mais je sais pas, moi et les threads...) |
juste que ca a aucun sens d'appeler une méthode static sur une instance (de Thread ou d'autre chose)
Marsh Posté le 26-10-2004 à 22:02:30
euh ha ouais ok, j'avais pas tilté
Marsh Posté le 27-10-2004 à 11:41:09
Non, en fait je dis n'importe quoi, excusez moi. Surm on poste c'est nickel. Ce doit être autre chose.
Marsh Posté le 26-10-2004 à 16:30:30
Au sein d'une appli web. Pour l'affichage d'une image, j'ai une servlet entant que source (attribut src) d'une image au sens HTML (balise img). Cette servlet doit vérifier en base de donnée qu'un champ à été positionné sur un valeur donnée, puis envoyer des données d'image en binaire).
Ce champ indique un état en fait. Donc je voudrais que "tant que la valeur du champ est IDL (en attente), on fasse patienter pour l'affichage de l'image, et dès que la valeur est END (tâche terminée), on envoit les données d'image qu'on a à envoyer.
Actuellement, je fais dormir le thread 1 seconde puis revérifier en boucle pendant 2 minutes, avant de renvoyer une erreure.
Comme ceci :
Le problème est que ceci semble bloquer tomcat (mon moteur de servlets de dev) semble être bloqué durant cette attente : aucune autre connexion possible. Logiquement, ça ne devrait bloquer qu'un seul thread et ne devrait gêner en rien le fonctionnement de tomcat, non !?
D'autres idés ?