Création d'applications Java à instance unique : une approche robuste
Les applications à instance unique, telles que MSN ou Windows Media Player, empêchent plusieurs instances du même application de s'exécuter simultanément. Pour les développeurs Java, la réalisation de cette fonctionnalité nécessite une approche différente de celle de l'utilisation de Mutex en C#.
La méthode recommandée pour créer des applications Java à instance unique consiste à exploiter le verrouillage de fichiers. Cette technique permet à l'application d'obtenir un accès exclusif à un fichier de verrouillage désigné pendant son exécution. Si une autre instance tente de s'exécuter alors que l'application est active, elle sera bloquée jusqu'à ce que le verrou soit libéré.
Pour implémenter le verrouillage de fichiers, utilisez l'extrait de code suivant :
private static boolean lockInstance(final String lockFile) { try { final File file = new File(lockFile); final RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw"); final FileLock fileLock = randomAccessFile.getChannel().tryLock(); if (fileLock != null) { Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { try { fileLock.release(); randomAccessFile.close(); file.delete(); } catch (Exception e) { log.error("Unable to remove lock file: " + lockFile, e); } } }); return true; } } catch (Exception e) { log.error("Unable to create and/or lock file: " + lockFile, e); } return false; }
En implémentant Avec cette méthode, votre application Java peut empêcher efficacement l'exécution simultanée de plusieurs instances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!