Tomcat et tache de fond

Le
Yann Neveu
Bonjour,
J'aimerais savoir quelle est la meilleur solution avec Tomcat pour
executer une tache de fond. Dans mon cas, il s'agit de l'envoi d'une
newsletter.
Dans l'état actuel des choses, le temps de génération du mail pour
chacun + le temps d'envoi des mails est trop conséquent pour attendre la
fin de ce traitement.
Je pense faire un exec d'un autre programme indépendant, mais ne
serait-il pas possible de le faire éxécuter par Tomcat?
Merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JeeP
Le #647323
en lancant un thread ... non ? (deja testé, ca marche sans pb)

Yann Neveu wrote:
Bonjour,
J'aimerais savoir quelle est la meilleur solution avec Tomcat pour
executer une tache de fond. Dans mon cas, il s'agit de l'envoi d'une
newsletter.
Dans l'état actuel des choses, le temps de génération du mail pour
chacun + le temps d'envoi des mails est trop conséquent pour attendre la
fin de ce traitement.
Je pense faire un exec d'un autre programme indépendant, mais ne
serait-il pas possible de le faire éxécuter par Tomcat?
Merci


Guillaume Rosset
Le #647319
J'suis d'accord aussi avec JeeP, tu lances ton process qui prend du temps
dans un thread séparé, j'ai déjà essayé et ca pose aucun pb, tu ne vois pas
la perte de temps (faut dire que c'est un peu le but du multithreading); tu
peux meme le lancer a partir d une servlet que tu auras pris soin de lancer
dès le demarrage de tomcat (en faisant un <loadon-start-up> dans le web.xml
de ton appli)


"Yann Neveu" c6qk30$cjl$
Bonjour,
J'aimerais savoir quelle est la meilleur solution avec Tomcat pour
executer une tache de fond. Dans mon cas, il s'agit de l'envoi d'une
newsletter.
Dans l'état actuel des choses, le temps de génération du mail pour
chacun + le temps d'envoi des mails est trop conséquent pour attendre la
fin de ce traitement.
Je pense faire un exec d'un autre programme indépendant, mais ne
serait-il pas possible de le faire éxécuter par Tomcat?
Merci


Yann Neveu
Le #647108
,le 29/04/2004 22:11 Guillaume Rosset a écrit:
J'suis d'accord aussi avec JeeP, tu lances ton process qui prend du temps
dans un thread séparé, j'ai déjà essayé et ca pose aucun pb, tu ne vois pas
la perte de temps (faut dire que c'est un peu le but du multithreading); tu
peux meme le lancer a partir d une servlet que tu auras pris soin de lancer
dès le demarrage de tomcat (en faisant un <loadon-start-up> dans le web.xml
de ton appli)


Merci à vous deux, effectivement j'ai opté pour le thread et ça
fonctionne très bien.

jerome moliere
Le #647105
Yann Neveu wrote:
,le 29/04/2004 22:11 Guillaume Rosset a écrit:

J'suis d'accord aussi avec JeeP, tu lances ton process qui prend du temps
dans un thread séparé, j'ai déjà essayé et ca pose aucun pb, tu ne
vois pas
la perte de temps (faut dire que c'est un peu le but du
multithreading); tu
peux meme le lancer a partir d une servlet que tu auras pris soin de
lancer
dès le demarrage de tomcat (en faisant un <loadon-start-up> dans le
web.xml
de ton appli)



Merci à vous deux, effectivement j'ai opté pour le thread et ça
fonctionne très bien.
oups desole mais j'etais pas trop là ces derniers temps mais cette

solution est la pire de toute!!! surtout pas.... jamais faire de thread
dans un contexte J2EE.. il y a peu de chances pour que tu prennes le
temps de bien les programmer tu feras donc des sleep() qui bloqueront
fatalement, ton nombre de threads va groissir, la JVM plantera tot ou
tard...
la solution clean est d'utiliser JMS depuis ta web-app, tu transmets un
message a une queue, qui va le dispatcher et une appli ailleurs
(autonome) le traitera sans aucun probleme...

Jerome

--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean13—82212111941


Publicité
Poster une réponse
Anonyme