Veröffentlicht 6. März 200718 j hi, ich starte eine Anwendung, z.b. einen Datenimport o.ä. der eine weile laufen kann. Nun will ich die Möglichkeit, den fortschritt dieses Imports oder Statistiken abrufen zu können. Aber wie übermittle ich eine Anfrage an eine laufende Anwendung ? innerhalb der Anwendung hätte ich mir das wie einen Stack vorgestellt, in dem sich die von außen kommenden Anfragen stapeln und immer wieder mal abgefragt werden, dann gehts weiter mit dem normale Verarbeitungsprozess. Ideen ?
6. März 200718 j bau halt ein kleinen server ein. client liest dann von konsole(z.b. "get") und schickts an den server. antwort ist dann der status oder die anzahl der offenen aufgaben. "socket java" bei einer suchmaschine deiner wahl sollte helfen. Sockets programming in Java: A tutorial - Java World bigredeyes
6. März 200718 j Aber wie übermittle ich eine Anfrage an eine laufende Anwendung ?Da gibt es - je nach Einsatzzweck - verschiedene Lösungsmöglichkeiten für. Die bereits von bigredeyes genannte Möglichkeit vom Programm aus einen Socket zu öffnen ist dabei sicherlich die schönste und sauberste. Unter bestimmten Bedingungen kann es jedoch sein, dass man keinen dedizierten Port für die Applikation öffnen kann/darf/will. Hier bieten sich dann andere (teilweise dreckigere) Lösungen an. Was mir da spontan einfallen würde wäre: Applikation A schreibt während der Abarbeitung in eine Date, Applikation B liest in periodischen Abständen diese Datei aus und wertet den Inhalt aus. Eine Abwandlung des ganzen wäre die Daten nicht in eine Datei sondern eine Datenbank zu schreiben. Und wenn man richtig mit Kanonen auf Spatzen schießen möchte: JMX.
6. März 200718 j danke, die Server-variante hatte ich mir auch schon gedacht. Da wäre es dann auch möglich von einem anderen Rechner aus (je nach Port / Firewall unsw) den Status abzufragen. Dachte nur das wäre das Kanonen / spatzen prinzip ^^ ist in dem Link oben oder einem anderen Tutorial beschrieben, welche Ports normalerweise für eine rein Lokale Verbindung genutzt werden ? also Client - ssh > server ssh: getstatus.exe ^^ getstatus.exe - socket_connect > process-server
6. März 200718 j ... ssh: getstatus.exe ... die .exe gibt schläge.... ssh: java Client -s 192.168.0.132 -p 5432 wobei -p = port. -s = server ip/name port sollte oberhalb 1024 liegen. wenn du per ssh zuerst auf den server connectest, dann ist die firewall ja egal, da du dann eh "lokal" arbeitest bigredeyes
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.