Ich habe auf einem Rechner ein kleines Kontrollprogramm (welches über Autostart permanent läuft) und eine Anwendung am laufen. Die eigentliche Anwendung frägt über RMI den Status des Kontrollprogramms ab. I.d.R. startet das Kontrollprogramm die RMI Registry selbst.
In Verbindung mit DHCP tritt nun folgendes Problem auf:
Sobald die Netzwerkverbindung nicht mehr existiert (z.B. Das WLAN beim Laptop) und somit die DHCP-IP-Adresse nicht mehr erreichbar ist, kann sich die Anwendung nicht mehr mit dem Kontrollprogramm verbinden.
Das Problem liegt definitiv an der RMI Registry. Der Client kann zwar bei der Registry anfragen welche Services registriert sind (getRegistry().list), aber sobald ich mich mit "lookup" Verbinden möchte kommt eine Exception da der Host unter der alten IP nicht mehr erreichbar ist.
Es kommt auch darauf an, wann mein Server mit der Registry gestartet wird. Wenn keine Netzwerkverbindung existiert wird die Registry mit 127.0.0.1 initialisiert und alles ist OK.
Die Möglichkeit den Service gezielt mit an den Host 127.0.0.1 zu binden hilft leider auch nicht weiter, da die Registry selbst an irgendeinem Punkt an die alte IP Adresse gebunden ist. Die java.rmi Properties (z.B. java.rmi.server.hostname) u.ä. Ansätze haben leider keinen Erfolg gebracht.
Ich bin nun schon alle möglichen Varianten durchgegangen und komme einfach auf keine Lösung (auch z.B. ein rebind bringt nichts).
Gibt es für meinen Fall evtl. eine sinnvolle Alternative zu RMI (schließlich geht es hier nur um Lokale Anwendungen -> Statusabfrage ca. alle 1 Sek.)?
Oder gibt es einen Weg um die RMI Registry an 127.0.0.1 zu binden?
Ich hatte mal eine Variante mit JMX (also ähnlich wie JConsole funktioniert mit MBean Server) das war aber nix, da es unter Windows massive Probleme mit dem Ordner "hsperfdata" gibt --> Permanente Probleme mit den Zugriffsrechten waren nicht tragbar (auch bei Admin-Kontos).
Danke!
In Verbindung mit DHCP tritt nun folgendes Problem auf:
Sobald die Netzwerkverbindung nicht mehr existiert (z.B. Das WLAN beim Laptop) und somit die DHCP-IP-Adresse nicht mehr erreichbar ist, kann sich die Anwendung nicht mehr mit dem Kontrollprogramm verbinden.
Das Problem liegt definitiv an der RMI Registry. Der Client kann zwar bei der Registry anfragen welche Services registriert sind (getRegistry().list), aber sobald ich mich mit "lookup" Verbinden möchte kommt eine Exception da der Host unter der alten IP nicht mehr erreichbar ist.
Es kommt auch darauf an, wann mein Server mit der Registry gestartet wird. Wenn keine Netzwerkverbindung existiert wird die Registry mit 127.0.0.1 initialisiert und alles ist OK.
Die Möglichkeit den Service gezielt mit an den Host 127.0.0.1 zu binden hilft leider auch nicht weiter, da die Registry selbst an irgendeinem Punkt an die alte IP Adresse gebunden ist. Die java.rmi Properties (z.B. java.rmi.server.hostname) u.ä. Ansätze haben leider keinen Erfolg gebracht.
Ich bin nun schon alle möglichen Varianten durchgegangen und komme einfach auf keine Lösung (auch z.B. ein rebind bringt nichts).
Gibt es für meinen Fall evtl. eine sinnvolle Alternative zu RMI (schließlich geht es hier nur um Lokale Anwendungen -> Statusabfrage ca. alle 1 Sek.)?
Oder gibt es einen Weg um die RMI Registry an 127.0.0.1 zu binden?
Ich hatte mal eine Variante mit JMX (also ähnlich wie JConsole funktioniert mit MBean Server) das war aber nix, da es unter Windows massive Probleme mit dem Ordner "hsperfdata" gibt --> Permanente Probleme mit den Zugriffsrechten waren nicht tragbar (auch bei Admin-Kontos).
Danke!