Hm, was mir als Verbesserungsvorschlag vielleicht noch einfallen würde: beseitige die Abhängigkeit von einer Datei. Derzeit müssen die Informationen über die Prozesskommunikation ja in einer Datei abgelegt werden, was unter Umständen ja nicht gewünscht sein könnte. Stattdessen wäre es vielleicht besser, JSingleInstance eine Art Initialisierungsobjekt zu übergeben, welches die Art der Kommunikation festlegt und sich um den Aufbau kümmert. Etwas, was in der Benutzung etwa in diese Richtung geht:
Java Code:
1
2
3
4
5
6
| // Initialisierung mit direkter Portangabe.
JSingleInstance instance = new JSingleInstance(new PortInitialiser("localhost", 9000));
// Initialisierung über Lockdatei (wie bisher).
JSingleInstance instance = new JSingleInstance(new FileInitialiser(System.getProperty("user.home") + ".myapp"));
// Oder etwas exotischer, Kommunikation über eine benannte Pipe (sofern möglich):
JSingleInstance instance = new JSingleInstance(new FifoInitialiser("myapp-fifo")); |