Les Snippets

Connexion

Unique instance de programme Java sans socket

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 20/04/2007 17:11:28 et initié par indiana_jules [Liste]
Date de mise à jour : 21/04/2007 21:56:43
Vue : 9806
Catégorie(s) : Système
Langages dispo pour ce code :
- Java
- Windev
- Voir tous les langages pour ce code snippet



Langage : Java
Date ajout : 20/04/2007
Posté par indiana_jules [Liste]
DateMAJ : 21/04/2007
package perso.device.system;
//Import needed packages
import java.io.File;
import java.io.IOException;
import java.security.AccessController;
import sun.security.action.GetPropertyAction;
/**
 * <p>Title : UtilitiesSystem</p>
 * <p>Description : Class device for System</p>
 * <p>Copyright : Copyright (c) 2007</p>
 * <p>Society : Perso</p>
 * @author Indiana_jules
 * @version 1.0
 */
public class UtilitiesSystem {
    /**Method detecting if an instance of a program is running
     * @param name Program's name
     * @return Return the state
     * @throws IOException Input/Output error
     */
    public static synchronized Boolean isSingletonProgram(String name) throws IOException {
        Boolean statut = true;
        GetPropertyAction a = new GetPropertyAction("java.io.tmpdir");
        String tmpdir = ((String) AccessController.doPrivileged(a));
        
        File temporaryFile = new File(tmpdir + "/" + name +".tmp");
        statut = !temporaryFile.exists();
        
        if(statut){
            temporaryFile.createNewFile();
            temporaryFile.deleteOnExit();
        }
        
        return statut;
    }
}

Remarque :
Nous accédons au répertoire temporaire du système (où normalement, nous avons toujours le droit d'accès et d'écriture), créer u fichier qui se détruit à la fin du programme. Ainsi, si le fichier n'est pas créé, alors nous pouvons lancer le programme. Sinon, nous devons le stopper. Par contre, si nous l'arrêtons brutalement, il risque ne plus marcher :/

Snippets en rapport avec : Instance, Unique, Programme, Java



Codes sources en rapport avec : Instance, Unique, Programme, Java

{JAVA / J2EE} INSTANCE UNIQUE D'UN PROGRAMME (SANS SOCKET NI FICHIER)
Salut à tous, voici l'idée : une classe nommée essaie de renommer le jar en app_tmp.jar, si ...

{JAVA / J2EE} UNE SEULE INSTANCE DE PROGRAMME SANS SOCKET
Dans le cadre d'un projet, je devais mettre en place un système multi-agents sur un réseau très sécu...

{C# / C#.NET} INSTANCE UNIQUE + COMMUNICATION DE MESSAGES (COMPATIBLE 32 ET 64 BIT)
Cette DLL permet d'avoir une instance unique d'un programme en plus de permettre: 1. La communicat...

{JAVA / J2EE} INSTANCE UNIQUE D'UNE APPLICATION
La demande revenant souvent sur les forums (et ayant cherché moi-même par le passé), j'ai développé ...

{Visual Basic, VB6, VB.NET, VB 2005} INSTANCE UNIQUE DE VOTRE APPLICATION
App.PrevInstance, oui, ok... mais ca ne permet que de savoir si l'exe courant a été lancé ou non....

{C / C++ / C++.NET} UNIQUE INSTANCE PROG (WIN32)
2 projets dans le zip pour 2 methodes. Les 2 methodes ramenent, si c'est le cas, l'ancienne instanc...

{C# / C#.NET} LANCER UNE SEULE INSTANCE D'UN APPLICATION
Ce bout de code permet de ne lancer qu'une seule instance d'un appli. Le code est issu du livre d...

{C# / C#.NET} COMMENT NE LANCER QU'UNE INSTANCE DE MON PROGRAMME...
Vérifier qu'il n'y a pas déja une instance de mon programmme qui s'éxécute et s'arrêter si c'est le...

{JAVA / J2EE} JEU DE MASTERMIND EN JAVA
Jeu de Mastermind en Java (interface graphique) Projet personnel réalisé afin de me remettre dans l...

{C / C++ / C++.NET} [C++] CLASS REGISTER
Permet de garder une trace de toutes les classes crees. J'ai fais ce code a la base car j'utili...