Hi,
ich erstelle ein URL Object mit einer dynamischen IP-Adresse und benutze es um dorthin Daten per GET-Parameter zu senden.
Der Aufruf wird über einen TimerTask alle 5 Minuten ausgeführt um die Daten aktuell zu halten.
Das Problem ist nun, dass wenn sich die IP-Adresse hinter dem dynamischen Namen ändert, dieser trotz new URL() weiterhin auf die alte IP aufgelöst wird. Letztendlich hilft da nur ein Anwendungs-Neustart weiter.
Soweit ich rausgefunden habe, kann das was damit zu tun haben, dass eine Klasse von Java nur einmal geladen wird und man einen eigenen ClassLoader braucht muss um sie jedesmal neu zu laden. Ich konnte aber nicht rausfinden, wie man das mit der java.net.URL Klasse erreichen kann.
Vielleicht gibt es ja auch eine Möglichkeit abzustellen, dass er sich die IP-Addresse merkt bzw. er die Auflösung jedesmal aktuell macht.
Würde mich freuen wenn jemand eine Idee zu dem Problem hat und mir weiterhelfen kann.
Gruß,
Michael
ich erstelle ein URL Object mit einer dynamischen IP-Adresse und benutze es um dorthin Daten per GET-Parameter zu senden.
Code:
URL url = new URL("http://my.homeip.net/...");
url.openStream();
Der Aufruf wird über einen TimerTask alle 5 Minuten ausgeführt um die Daten aktuell zu halten.
Das Problem ist nun, dass wenn sich die IP-Adresse hinter dem dynamischen Namen ändert, dieser trotz new URL() weiterhin auf die alte IP aufgelöst wird. Letztendlich hilft da nur ein Anwendungs-Neustart weiter.
Soweit ich rausgefunden habe, kann das was damit zu tun haben, dass eine Klasse von Java nur einmal geladen wird und man einen eigenen ClassLoader braucht muss um sie jedesmal neu zu laden. Ich konnte aber nicht rausfinden, wie man das mit der java.net.URL Klasse erreichen kann.
Vielleicht gibt es ja auch eine Möglichkeit abzustellen, dass er sich die IP-Addresse merkt bzw. er die Auflösung jedesmal aktuell macht.
Würde mich freuen wenn jemand eine Idee zu dem Problem hat und mir weiterhelfen kann.
Gruß,
Michael