Das Java-Tool dient zur Automatisierung von Administrationsaufgaben. Diese beinhalten im Admin Client diverse Server auf ihren Festplattenspeicher zu überprüfen. Dafür gibt es Automatisierungstools, ich weiß, aber der Prozess des Prüfens darf nicht automatisiert passieren.
Was hingegen automatisiert passieren darf, und durch das Tool auch soll, ist das Öffnen des Admin Clients, welcher sich schon zum richtigen Server verbinden soll.
Dazu habe ich nun auch schon eine Lösung gefunden, die nur funktioniert, wenn man den Pfad zum Notes-Verzeichnis kennt. Diese nutze ich jedoch nun.
Für den Fall, dass jemand so etwas ähnliches braucht, es gibt hier verschiedene Möglichkeiten.
Die Möglichkeiten: 1. Notes Client starten und eine gewisse Datenbank öffnen (das gehört auch zu meinen Anforderungen)
cmd.exe -> pfadZuNotes\notes.exe notes://Server/database
2. Admin Client starten und einen Server zum Starten mit angeben
cmd.exe -> pfadZuNotes\admin.exe ServerName
3. Admin Client starten und einen Server zum Starten mit angeben
cmd.exe -> pfadZuNotes\nlnotes.exe admin ServerName
Der Unterschied:- Im ersten Fall öffnet sich der Notes Client wie gewohnt. Der Startprozess wird angestoßen, die Credentials werden abgefragt und Notes läd im Hintergrund alle notwendigen Daten.
- Im zweiten Fall öffnet sich der Admin Client wie gewohnt. Hier passiert das gleiche wie im ersten Fall, nur eben mit dem Admin.
- Im dritten Fall öffnet sich der nlnotes Prozess mit dem Kommando admin. Das bedeutet, der Admin Client wird gestartet, ohne den üblichen Ladeprozess. Die Credentials werden abgefragt.
Was nützt mir das:In Java lässt sich jeder Fall über einen ProcessBuilder generieren. In den ersten beiden Fällen ist der gestartete Prozess der Startprozess von Notes (also der Ladevorgang). Dieser beendet sich, nachdem der Prozess nlnotes korrekt gestartet wurde. Im letzteren Fall startet man nlnotes manuell. Dadurch erhält man vom ProcessBuilder den nlnotes Prozess als Rückgabewert. Dieser lässt sich nun tracken.
Beispiel:Möchte man zum Beispiel in einem Java Programm auf das Schließen des Admin Clients reagieren um danach eine E-Mail zu erstellen, so lässt sich das mit dem zweiten Fall, also admin.exe, nicht lösen. Denn der hier zurückgegebene Prozess ist "nur" der Startprozess und
nicht nlnotes.
Mit dem dritten Fall kann man jedoch auf das Schließen des Admin Clients reagieren, da der nlnotes Prozess der gestartete Prozess ist.
Der dritte Fall dürfte auch mit designer und client o.ä. Parametern aufrufbar sein um die anderen Prozesse zu starten. Hier müsste man einfach ausprobieren, wenn man es braucht.
Danke auf jeden Fall für die Hilfe, ihr habt mich auf den richtigen Weg gebracht. Ich hoffe ich konnte die Lösung einigermaßen verständlich erklären und hier dem ein oder anderen noch etwas beibringen.
Gruß