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

Langage Java Discussion :

[JAVA] système de verrou


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut [JAVA] système de verrou
    Bonjour,

    sur l'application sur laquelle je travaille actuellement, un système de verrou est mis en place afin de gérer le lancement simultané de plusieurs instances du même traitement.
    Concretement, le système actuel consiste à créer un fichier au début du traitement et à le supprimer à la fin. Lors de chaque démarrage du traitement, un test sur l'existence de ce fichier est effectué si le fichier existe le traitement s'arrete car un autre traitement est déja en cours.

    Existe-t-il un autre moyen pour gerer cela ? apparemment il existerait une hypothetique classe verrou permettant de gérer cela ?
    Quelqu'un aurait il des idées , des suggestions, des indices ?



    D'avance merci .

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Ton verrou doit-il fonctionner au sein d'une même instance de ton application, ou bien doit-il être utilisable depuis plusieurs intances de l'application (si tu lance plusieurs fois ton programme) ?

    a++

  3. #3
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503

  4. #4
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par adiGuba
    Salut,

    Ton verrou doit-il fonctionner au sein d'une même instance de ton application, ou bien doit-il être utilisable depuis plusieurs intances de l'application (si tu lance plusieurs fois ton programme) ?

    a++
    justement il doit marcher si on lance plusieurs fois le programme (plusieurs instances )

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par miloux32
    justement il doit marcher si on lance plusieurs fois le programme (plusieurs instances )
    Dans ce cas tu ne peux pas utiliser la synchronisation de thread...

    Par contre tu peux utiliser les FileLock qui sont peut-être un peu plus "sûr" que de vérifier l'existence d'un fichier (tu peux avoir deux instances qui vérifie en "même temps" que le fichier n'existe pas et qui le crée...).

    Cela te fera quand même créer un fichier mais cela permet de ne pas tout bloquer si un des programme plante et ne supprime pas le fichier...

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        public void traitement() throws IOException {
            // Ouverture du FileChannel 
            FileChannel channel = new FileOutputStream("file.lock").getChannel();
            try {
                // Mise en place du verrou :
                FileLock lock = channel.lock();
                try {
                    //
                    // Traitements ...
                    //
                } finally { lock.release(); } // Libération du lock
            } finally { channel.close(); } // Fermeture du fichier
        }
    a++

  6. #6
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Et ceci ca ne convient pas ?

    http://java.developpez.com/faq/java/...nceApplication

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système]commandes linux / unix depuis java
    Par msiramy dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 20/03/2007, 11h29
  2. [Système]Acceder aux information reseau en java?
    Par akito dans le forum API standards et tierces
    Réponses: 17
    Dernier message: 19/11/2005, 22h24
  3. [Système][Environnement]recuperer le path de java
    Par Gob4 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 23/09/2005, 16h26
  4. [Système][Runtime] Lancement d'un .bat avec java
    Par Hoegaarden dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 13/09/2005, 15h48
  5. [Système][Process] Scripts shell à partir d'une appli java
    Par mickbzh dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 22/07/2005, 15h40

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