Hallo zusammen,
folgende Situation liegt bei mir vor: Ich habe eine Java-Anwendung, in der Verschiedene Module über RMI Funktionen bereitstellen die dann von einer Webapplikation benutzt werden. Alle Module registrieren sich beim Start der Anwenundung an einer eigens dafür mitgestarteten RMI-Registry. Da das ganze idR auf dem gleichen Rechner läuft wie der Webserver registrieren sich fast alle Dienste im Normalfall mit Adresse"rmi://localhost:1099", zwei bekommen jedoch statt localhost eine Abfrage des Machine-Names aus dem Netzwerkadapter mit. Die Webanwendung greift idR ebenfalls über rmi://localhost... auf die Module zu.
Nun habe ich folgendes Problem: Ich habe die Anwendung, die normalerweise als Serverdienst läuft, über die Diensteverwaltung von Windows beendet und direkt danach als Applikation über einen java-Aufruf in der Konsole gestartet. Teilweise (reproduzierbar, aber nicht deterministisch) passiert es mir nun, dass sich die Webanwendung zwar an die rmi-Registry verbinden kann, ein Lookup für den unter dem Machine-Name registrierten Dienst mit der Meldung java.rmi.NoSuchObjectException: no such object in table endet. Interessant dabei: Ich habe mir ein Eclipse RMI-Plugin besorgt, wenn ich mich nun damit von meinem Entwicklungsrechner auf den Server verbinde bekomme ich den fraglichen Dienst angezeigt - er ist also prinzipiell registriert.
Mein Erklärungsversuch ist nun, dass ich durch den Applikationsstart kurz nach Beendung des Dienstes irgendwie in den Zustand gekommen bin, dass ich zwei RMI-Registrys auf dem Server am laufen habe, eine die alles mit rmi://localhost:1099/... übernimmt, eine die alles mit rmi://rechnername:1099/... übernimmt. Meine Frage: Wäre das prinzipiell möglich oder bin ich damit komplett auf dem Holzweg und muß eine andere Ursache des Problems suchen?
Bin dankbar für jeden Gedanken dazu....
folgende Situation liegt bei mir vor: Ich habe eine Java-Anwendung, in der Verschiedene Module über RMI Funktionen bereitstellen die dann von einer Webapplikation benutzt werden. Alle Module registrieren sich beim Start der Anwenundung an einer eigens dafür mitgestarteten RMI-Registry. Da das ganze idR auf dem gleichen Rechner läuft wie der Webserver registrieren sich fast alle Dienste im Normalfall mit Adresse"rmi://localhost:1099", zwei bekommen jedoch statt localhost eine Abfrage des Machine-Names aus dem Netzwerkadapter mit. Die Webanwendung greift idR ebenfalls über rmi://localhost... auf die Module zu.
Nun habe ich folgendes Problem: Ich habe die Anwendung, die normalerweise als Serverdienst läuft, über die Diensteverwaltung von Windows beendet und direkt danach als Applikation über einen java-Aufruf in der Konsole gestartet. Teilweise (reproduzierbar, aber nicht deterministisch) passiert es mir nun, dass sich die Webanwendung zwar an die rmi-Registry verbinden kann, ein Lookup für den unter dem Machine-Name registrierten Dienst mit der Meldung java.rmi.NoSuchObjectException: no such object in table endet. Interessant dabei: Ich habe mir ein Eclipse RMI-Plugin besorgt, wenn ich mich nun damit von meinem Entwicklungsrechner auf den Server verbinde bekomme ich den fraglichen Dienst angezeigt - er ist also prinzipiell registriert.
Mein Erklärungsversuch ist nun, dass ich durch den Applikationsstart kurz nach Beendung des Dienstes irgendwie in den Zustand gekommen bin, dass ich zwei RMI-Registrys auf dem Server am laufen habe, eine die alles mit rmi://localhost:1099/... übernimmt, eine die alles mit rmi://rechnername:1099/... übernimmt. Meine Frage: Wäre das prinzipiell möglich oder bin ich damit komplett auf dem Holzweg und muß eine andere Ursache des Problems suchen?
Bin dankbar für jeden Gedanken dazu....