Bonjour,
je ne savais pas trop comment tagé mon message alors j'en propose un nouveau...
Donc voila mon probleme traite d'architecture d'une application J2EE
Je vous explique:
Un utilisateur connecter a l'application a travers une interface web (jsp avec le framework struts) devra pouvoir lancer des traitements longs (de plusieurs secondes a une heure).
De plus, plusieurs utilisateurs peuvent demander l'execution d'un traitement (différent) en simultané.
Et je ne sais pas trop comment je doit implémenter ça.
Je pensais émettre, lors de la demande de l'utilisateur, une requete vers une servlet, qui a son tour créerait un message driven bean, et lui enverer un message lui demandant d'effectuer le traitement.
La servlet (qui ne serait pas bloqué lors du traitement) pourrait donc répondre a la requete, pour signaler a l'utilisateur que le traitement a été lancé.
Je ne sais pas si toute "infrastructure" est judicieuse, mais elle me semble nécessaire, si je ne veux pas que mon utlisateur sont bloqué lors de sa requete sur une page blance qui mettrait plusieurs minutes a s'afficher....
Je ne sais pas si mon idée est pertinante, et c'est pour cela que je post ce message. Je suis ouvert a toute proposition alternative.
De plus, a prioris je vois pas comment il serait possible d'avertir que le traitement a été terminé.
A moins que un code javascript effectuerait une requete ajax toutes les xx secondes pour intérroger le seveur de l'avancement du traitement.
ps j'ai eu une autre idée:
il serait possible également que la servlet en question rajoute dans la BD la demande de la requete, et que en parrallèle, un bean (une thread? un mdb, je ne sais pas) lit cette table et effectue le traitement.
Partager