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 : 4316
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} 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 DU CENT (APPLET)
Mon tout premier jeu Un jeu qui se joue avec 3 pièces par joueur et 3 dés Chaque joueur met ...

{JAVA / J2EE} SIMULATEUR DE L’ALGORITHME PRODUCTEUR/CONSOMMATEUR (INGÉNIEUR ISIMS 2008)
C’est une petite application avec des composantes graphiques du package swing de java qui fait la si...

{JAVA / J2EE} APPLICATION MEMO EN J2ME POUR PALM TREO 500
Bonjour, Je débute en J2ME et je viens de m'acheter un Palm Treo 500 qui tourne sous Windows Mobi...