darklord a écrit :
problème intéressant. Est ce que ton programme utilise une resource réseau quelconque (genre ouvre un serversocket sur un port bien donné?).
Pour le fichier ce n'est pas spécialement mauvais, même si c'est pas top (je connais des produits open source qui utilisent ce mécanisme).
Pour le shutdown hook tu pourrais eventuellement utiliser ce concept mais à mon avis theFile.deleteOnExit() devrait etre plus propre.
|
Oui mon programme utilise un port pour communiquer avec un serveur mais la collision entre les 2 instances n'intervient pas sur cet aspect. Mon programme utilise une API qui crée un fichier dont je ne peux pas modifier le nom car il est codé en dur... Quand mon 1er prog se lance, il sauve dans ce fichier un identifiant de session sur 4 positions alphanumériques. Quand le second se lance, il écrit son id de session dans le même fichier, faisant ainsi planter la 1ère instance...
Utiliser un fichier comme "flag externe" me paraît pas mal mais je suis pas sûr que ça soit sûr dans les cas tordus de lancement simultané de 2 instances...
Pour le theFile.deleteOnExit(), je connaissais pas, merci Avec ça, je suis sûr que la ressource est nettoyée proprement