charge d'un bean en portée application dans une JSP

charge d'un bean en portée application dans une JSP - Java - Programmation

Marsh Posté le 30-05-2005 à 15:42:30    

bonjour à tous,
 
J'ai un bean en portée application qui  me sert à:
1) monitorer les sessions du serveur
2) regroupper différentes méthodes générales de gestion de fichiers (copie, effacement, initialisation, etc...)
 
J'ai un peu peur que si tous les utilisateurs décident de faire des copies de fichier en même temps cela soit impossible; ou autrement formulé: est ce que mon serveur (Tomcat) se débrouille tout seul pour satisfaire les requêtes de tous mes utilisateurs (en clonant ou je ne sais quoi), même si je n'ai à priori qu'un seul bean déclaré pour l'application.
 
Si ce n'est pas le cas, y a t'il un moyen plus simple que de créer un bean session pour chaque utilisateur avec les méthodes de gestion...?

Reply

Marsh Posté le 30-05-2005 à 15:42:30   

Reply

Marsh Posté le 30-05-2005 à 23:45:11    

Bonjour,
 
Tu devrais à mon avis séparer tes deux fonctionnalités dans deux beans différentes mais ce n'est pas une réponse à ta question...
 
Tomcat ne clone pas mais il n'y a pas de soucis pour que tous les utilisateurs utilisent en même temps le même objet et les mêmes méthodes.  
Si l'opération de copie est particulièrement longue, il faudra quand même envisager la création d'un Thread parallèle pour l'execution du traitement afin de libérer ton objet pour les autres utilisateurs.
 
C'est aussi à toi de considérer au niveau du codage les problèmes de concurrence : si une personne veut copier un fichier sous le même nom qu'un autre et au même moment, c'est le dernier arrivé qui va écraser le premier.  
Mais ça c'est le même souci pour une bean stockée en session, à toi de trouver la parade avec ton code suivant le contexte de ton programme.

Reply

Marsh Posté le 31-05-2005 à 08:44:32    

Merci, bonne idée les threads... en plus j'aurais du y penser tout de suite...
 
La concurrence c'est bon je l'ai gérée...
 
thx

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed