Ecriture dans fichier - Java - Programmation
Marsh Posté le 09-11-2004 à 10:57:13
Accès en lecteur depuis plusieurs appli web distincts tournant sur le même serveur d'application ?
Marsh Posté le 09-11-2004 à 11:07:07
oui c ca et en écriture aussi mais pour un seul user à la fois
Marsh Posté le 09-11-2004 à 11:30:32
La lecture se fait de manière classique. Pour l'écriture, utilises un Singleton que tu positionnera dans ton web context qui sera partagé entre tes applis.
Marsh Posté le 09-11-2004 à 11:33:08
Bah en fait c'est ma solution actuelle, je n'utilise pas de fichier mais ma var context.
Je veux changer çà en cas de reset ou autre du serv, pour que cela soit plus sécurisé.
Donc je ne souhaiterais pas trop partir dans cette optique
Marsh Posté le 09-11-2004 à 11:39:40
Je viens de trouver une solution pas mal avec la JDK 1.4
Je viens de faire un test et ca m'a l'air concluant
Qqun connait la classe FileLock ?
J'ai fait un prog vite fait
Code :
|
Mon fichier est bien blocker en écriture entre plrs appli ... enfin gspr lol, j'ai juste testé sur une appli et d'ouvrir en mm tps le fichier à la main.
Marsh Posté le 09-11-2004 à 12:04:45
De toute façon la stratégie demeure la même que précedemment, sauf que grace à la méthode lock de FileChannel, tu pourras rajouter une "vrai" sécurité .
Marsh Posté le 09-11-2004 à 12:27:01
phnatomass a écrit : La lecture se fait de manière classique. Pour l'écriture, utilises un Singleton que tu positionnera dans ton web context qui sera partagé entre tes applis. |
chaque context web à un classloader distinct, donc le singleton ne sera pas partagé, il y en aura une instance pour chaque appli.
Quand je vous dis que c'est de la merde les singletons....
Marsh Posté le 09-11-2004 à 12:50:41
the real moins moins a écrit : |
je ne vois pas le rapport
Marsh Posté le 09-11-2004 à 13:49:45
Par contre,
est ce possible d'utiliser la classe FileLock pour verrouiller un fichier et ensuite un parser XML pour travailler dedans ?
Là j'y arrive pas en fait ...
Marsh Posté le 09-11-2004 à 13:51:26
c'est moi ou bien t'as oublié tout ce qu'on a tenté de t'expliquer dans ton autre topic qui avait le meme sujet?
Marsh Posté le 09-11-2004 à 14:01:46
Bah ca n'a rien à voir là !
La dernière fois j'étais parti sur une autre solution, celle que j'ai dite précedemment
Marsh Posté le 09-11-2004 à 22:19:10
the real moins moins a écrit : chaque context web à un classloader distinct, donc le singleton ne sera pas partagé, il y en aura une instance pour chaque appli. |
pas forcement vrai .... dans jboss avec par defaut, les classes sont partagees sur tout le server
Marsh Posté le 09-11-2004 à 22:19:59
même pour les war? ? parce que bon, tu me fais hésiter, mais j'aurais tendance à dire que c'est dans les specs, le fait que chaque web-app aie son propre classloader ...
Marsh Posté le 09-11-2004 à 22:39:35
non en fait, ca depend de l'option useJBossWebLoader = true ou false dans la definition du service tomcat (en general $JBOSS_HOME/server/default/deploy/jbossweb-tomcatxxx.jar/META-INF/jboss-service.xml
Marsh Posté le 09-11-2004 à 22:52:18
ReplyMarsh Posté le 10-11-2004 à 09:27:23
Con que j'bosse pas sur JBoss ... enfin bon, vu que je souhaiterais qq chose qui ne perde pas les infos en cas de reset ou plantage du serv, il me faut plutot un fichier.
Donc personne n'a d'autres solutions pour partager un fichier exclusif entre plusieurs applis ?
Marsh Posté le 09-11-2004 à 10:35:51
Bonjour,
Je dois créer un fichier où les utilisateurs pour y lire des informations mais aussi écrire dedans.
Mon problème, j'aimerais savoir comment on procéde pour que tout le monde puisse lire, mais un seul écrit à la fois. Le seul hic, il faudrait que cela puisse se faire sur plusieurs applications en même temps (je travaille sur un serveur Tomcat)
Donc je sais pas trop s'il faut faire des threads dans ce cas vu qu'il faudrait que cela fonctionne entre plusieurs appli.
Merci pour vos suggestions
VoD