Beim ping fliegt wie zu erwarten die erste Exception, aber beim rebind fliegt die nächste, aber absolut identische Exception. Rebind soll eigentlich die Verbindung neu herstellen.
wie wäre es mit einer einfachen setGlobalRegistry Methode? damit umgehst du das alles
Hmm, die globale registry hab ich eigentlich deshlab, damit man sich die „arbeit“ mit der individuellen Registry sparen kann.Mal schauen, vielleicht kann ich da was vom RMI abschauen…[/QUOTE]
Ja dafür reicht sie ja aus und wenn man etwas „besonderes“ will dann kann man sich das zusammenbauen und als globale „markieren“
Ah so. Hmm, okay. Wieder ein fall für einen JUnit Test…
Bzgl. der globalen Registry: Ich glaub ich lass die einfach weg, bzw. mach sie deprecated. Bei RMI gibts sowas auch nicht, und der Code den man sich durch die glob.Reg. spart ist auch nicht wirklich viel. Und wenn man sowas doch haben will, hat mans mit zwei einfach statischen Wrapper-Methoden selbst gebaut.
Könnte es sein das du beim bind Aufruf nur neue Verbindungen herstellst? Bestand eine schon einmal kommts mir so vor als würde sie nicht wieder hergestellt werden.
Also das Reconnect-Problem ist jetzt mal generell gelöst. Obs noch schwierigkeiten mit hängenbleibenden Methodenaufrufen gibt muss noch verifizieren, sollte aber keine Probleme mehr machen.
P.S. Willst du dich vllt. im Bugtracker anmelden? Dann kannst du dort Bugs schneller melden und man kann direkt zum Bug Notizen machen bzw. diskutieren.
Irgendwie ist das komisch, der der Verbindungsaufbau von den Clients zum Watchdog funktioniert nach Abbrüchen problemlos. Aber der Watchdog schafft es nie sich zu den Clients neu zu verbinden.
[Edit: Ich habs hinbekommen das er garkeine Verbindungen mehr entgegen nimmt
Ich hab dir in deinen Bugtracker man nen neuen Eintrag gemacht. Wenn sich ein Server zu meinem Watchdog verbindet läuft das ohne Probleme mit dem Reconnect, aber sobald der Server mal weg ist und wieder kommt kackt der Simon-Teil beim Watchdog ab.
[QUOTE=EagleEye]Irgendwie ist das komisch, der der Verbindungsaufbau von den Clients zum Watchdog funktioniert nach Abbrüchen problemlos. Aber der Watchdog schafft es nie sich zu den Clients neu zu verbinden.
[Edit] Ich habs hinbekommen das er garkeine Verbindungen mehr entgegen nimmt :D[/QUOTE]
Das musst du jetzt etwas genauer erläutern…
Weil:
Aber der Watchdog schafft es nie sich zu den Clients neu zu verbinden.
Du willst den Server zu den Clients verbinden lassen? Das geht dann aber nur dann, wenn am Client auch eine Registry läuft. Aber mal davon abgesehen seh ich nich cnith wirklich den SInn dahinter, einen Server zu den Clients verbinden zu lassen. Wo kämen wir denn da hin wenn sich ein Apache zu einem Firefox verbindet
Ich hab den Watchdog, bei ihm läuft ne Registry, alle Clients (Server die zu überwachen sind) melden sich bei ihm “Hallo ich bin da”. Damit der Watchdog die Clients richtig überprüfen kann merkt er sich wer sich bei ihm gemeldet hat und fragt diese über eine Remote Methode ab.
Bei den Clients läuft auch eine Regsitry. Starte ich alle das erste mal gibts keine Probleme, alles läuft wie es soll. Schalte ich den Watchdog aus und wieder an verbinden sich die Clients mittlerweile ohne Probleme, aber schalte ich einen der Clients aus und wieder an stürzt der Simon Part vom Watchdog irgendwie ab.
[QUOTE=EagleEye]Ich hab den Watchdog, bei ihm läuft ne Registry, alle Clients (Server die zu überwachen sind) melden sich bei ihm „Hallo ich bin da“. Damit der Watchdog die Clients richtig überprüfen kann merkt er sich wer sich bei ihm gemeldet hat und fragt diese über eine Remote Methode ab.
[/quote]
Okay, soweit ist das auch korrektes „watch dogging“
Bei den Clients läuft auch eine Regsitry.
Warum? Der Server kann auch ohne Registry bei den Clients Methoden auf dem Client aufrufen. Stichwort: Callback
Mit einer weiteren registry bei den Clients kriegst du ja auch das Problem, dass wenn die Clients hinter einem Router sitzen, du da nochmal ein Portforwarding brauchst und zudem insgesamt zwei Netzwerkverbindungen benutzt werden. Eine reicht jedoch vollkommen aus. Gibt im übrigen auch nicht wirklich einen Grund warum der Client sich beim Server meldet, die Verbindung dann trennt und der Server dann in einem Intervall auf einer anderen Netzwerkverbindung wieder was vom Client will. Benutze die erste Verbindung die der Client aufgebaut hat und gut ist.
Starte ich alle das erste mal gibts keine Probleme, alles läuft wie es soll. Schalte ich den Watchdog aus und wieder an verbinden sich die Clients mittlerweile ohne Probleme,
Jupp, hab ich ja erst kürzlich gefixt.
aber schalte ich einen der Clients aus und wieder an stürzt der Simon Part vom Watchdog irgendwie ab.
Gibt’s zu „stürzt irgendwie ab“ eine Fehlermeldung? Weil in der Regel sagt mir „stürzt irgendwie ab“ so rein gar nix Was sagt das Logging? Kannst du ein Minimalbeispiel erstellen damit ich das lokal reproduzieren kann?
so hier ist mal eine Testumgebung, witzigerweise verhält sie sich nicht so wie das andere Programm. Sie hängt sich nicht auf sondern wirft Exceptions. Ich hoffe ich hab in der Eile keine Fehler reingemacht.
Wär klasse wenn du solche Bugs gleich in Mantis meldest. Ist vollkommen egal ob du dir sicher bist oder nicht obs tatsächlich ein Bug ist oder nicht. Einfach rein damit und gut ist.
Danke. Wäre aber schön gewesen, wenn du die File in Mantis hochgeladen/angehängt hättest. So springe ich jetzt ständig hin und her und muss schauen wer was wo postet…