IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Synchronisation grace à un fichier .lock


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Par défaut Synchronisation grace à un fichier .lock
    Bonjour,
    J'ai un projet qui se deploie en JWS et on me demande d'ajouter la possibilité de pouvoir gérer plusieurs utilisateurs.
    pourquoi ?
    mon application depend d'un repertoire qui contient les pdfs sur un serveur et l'application check toujours le meme repertoire donc s'il ya plusieurs user en meme temps je risque de ... faire n'importe sur le meme fichier.
    pour cela il existe apparament une technique avec Finalize et les fichiers lock dans lesquels on trouve des infos par rapport au fichier deja ouvert (enfin mon prof qui m'a dit ces infos)

    --> Question ou est ce que je peux trouver plus d'infos par rapport à ça ?
    --> N'existe t il pas un autre moyen plus simple et efficace ? (je fais confiance à mon prof mais voila je me pose la question mdrr)

    Je vous remercie et j'attend vos propositions .

  2. #2
    Membre confirmé Avatar de fomazou
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Par défaut
    --> Question ou est ce que je peux trouver plus d'infos par rapport à ça ?
    --> N'existe t il pas un autre moyen plus simple et efficace ? (je fais confiance à mon prof mais voila je me pose la question mdrr)
    Effectivement ton à raison continue de le faire confiance.

    Il existe deux astuces pour faire la synchronisation. soit le mot clé synchronize soit le fichier java.util.concurrent.locks qui est un peu plus compliqué(plus puissant aussi)

    bref tu peux avoir les détail à partir de ce lien :

    http://rom.developpez.com/java-synchronisation/
    je crois que ça pourra t'aider a resoudre ton PB.

  3. #3
    Membre confirmé Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Par défaut
    Merci pour les infos
    mais j'ai déja googler un peu avant de poster enfin j'ai fait ça au debut mais j'ai pas oser compiler parceque je pense que c'est de la merde.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void LockFile (File file) throws IOException {
    		RandomAccessFile sourceFile = new RandomAccessFile(file, "rw");
    		FileChannel fcSource = sourceFile.getChannel();
    		FileLock verrouSource = fcSource.lock();
    		verrouSource.release();
    	}
     
    	void UnLockFile (FileLock vFile, RandomAccessFile source) throws IOException{
    		vFile.release();
            source.close();
    	}
    en gros j'appel Lock pour verrouiller le fichier, jusqu'a ce que je termine et j'appel Unlock, en fait pour moi -je sais pas si c'est un avantage- le lock et unlock c'est inter à mon appli en fait j m'en fou si kelkun l'ouvre le fichier en lecture avec un programme autre que le mien donc je pense que ça doit etre facile la (et le prof est sympa pour me dire de faire que ça surtout que c'est bientot la date du rend lol)

    mais comment faire ce fichier .lock ? c'est quoi sont interet ? il m'a dit que c le meme principe utilisé sur NSQL DB .

    Merci encore !

    --> pour le moment je fais les tests en local mais il me semble que si ca marche en local ça marchera à distance aussi.

  4. #4
    Membre confirmé Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Par défaut
    Sur ce forum,
    http://www.developpez.net/forums/sho...highlight=lock
    ils ont parlé de ce fichier .lock mais je comprend pas :
    --> c'est à moi de creer le .lock ? ou c'est une classe qui le fait automatiquement
    --> pour le test je test juste l'existance du fichier .lock ou je regarde son contenu s'il en a un ?

    et comme ils disent dans le forum, il reste le cas ou mes deux users veulent acceder au meme fichier lock en meme temps ?

    bref, ça c'est des questions qui ressemble bcp à mon cours de systeme de l'année derniere lol donc je pense que la je touche un peu aux semaphores ou/et mutex

    à vous !

Discussions similaires

  1. [Eclipse] fichier locké impossible de le délocker
    Par bucheron007 dans le forum Subversion
    Réponses: 0
    Dernier message: 28/08/2008, 11h23
  2. Fichier Lock du service POP3
    Par undercrash dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 04/06/2008, 16h50
  3. Synchronisation entre deux fichiers
    Par Chronax dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 11/10/2007, 00h52
  4. Fichier locké par explorer.exe
    Par Glob dans le forum Windows XP
    Réponses: 6
    Dernier message: 31/08/2006, 09h05
  5. Réponses: 9
    Dernier message: 16/12/2005, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo