Threads mit einem WebService

roadrunner87

Mitglied
Hallo,
ich habe einen WebService mit Java programmiert und möchte nun folgendes implementieren.
Wenn der Client den Server anfragt, möchte ich dem Client sofort eine ID zurückschicken. Anschließend arbeitet der Server die Anfrage ab. Nachdem die Anfrage bearbeitet worden ist, möchte ich dem Client bescheidgeben, dass sein Ergebnis fertig ist. Somit muss der Client nicht lange warten bis das Ergebnis fertig ist.

Ich weiß leider nicht wie man bei soetwas vorgeht!

Habe mir es in etwa so vorgestellt:
Java:
public String add(long a, long b) {
  return generateId();  // geht natürlich so nicht
  add(a, b);
  // Client bescheid geben
}


Geht so etwas mit Threads?


Danke schonmal im voraus.
 
S

SlaterB

Gast
wie stellst du dir die Client-Seite dazu vor, bekommt der den String beim Aufruf gleich zurück und was danach?
soll er in Kürze wieder bei densemben Aufruf horchen, was immer das in Java-Umsetzung wäre?

allein aus diesen Client-Vorgängen ergibt sich doch ziemlich einfach, dass der Client eine zweite Anfrage senden könnte, die dann eben länger dauert,
das wäre mit normalen Mitteln zu machen,

im Server kann der erste Aufruf in der Tat einen Thread starten, VOR der ersten Rückgabe, beim zweiten Aufruf wird anhand der Parameter-Id irgendwo nachgeschaut ob ein entsprechender Thread läuft, auf dessen Ende gewarten usw., oder was immer man gerne hätte

-----

die grundsätzliche Alternative wäre am Anfang dasselbe Vorgehen, nur kein zweiter Aufruf sondern irgendwie später eine vom Server ausgehende Verbindung zum Client, der dann allgemein auf solche Nachrichten warten müsste,
ob das in WebService geht weiß ich nicht, bei RMI heißt das wohl Callback
http://www.java-forum.org/netzwerkprogrammierung/119497-callback.html
 

roadrunner87

Mitglied
Ich habe mir das so vorgestellt:

1) der Client stellt eine Anfrage
2) der Server erstellt eine UID und sendet sie dem Client zurück (damit kann der Client das Ergebnis anfragen). In der Zeit kann der Client andere Dinge erledigen.
3) der Server arbeitet die Anfrage ab
4) wenn er fertig ist benachrichtigt er den Client
5) Client kann das Ergebnis abholen


Das ganze funktioniert ja schon, nur das der Client halt wartet, bis das Ergebnis feststeht. Das kann aber unter umständen sehr lange dauern.
 
S

SlaterB

Gast
da du nichts neues sagst, würde ich eigentlich nicht antworten, aber bevor du auf eine Antwort (von mir) wartest:
du sagst nichts neues, ich habe auch nichts neues zu sagen, Callback heißt es bei RMI, bei WebService habe ich davon noch nichts gehört,
aber die beiden Begriffe in eine Suchmaschine einzutippen ist ja nicht schwer, führt etwa zu
Can I call you back? - Asynchronous Web Services | Java.net

also wenn du willst kannst du in der Hinsicht weiter lesen, ich kann nichts beitragen
 

Firestorm87

Bekanntes Mitglied
Ein Call-Back ist bei einem Webservices eigentlich nicht vorgesehen.
Weil dazu wäre es zwingend erforderlich, dass der Client von außen erreichbar ist (z.B. hinter einem Router schon nicht mehr zwingend gewährleistet).

Einfacher wäre wahrscheinlich, wenn der Client alle x Sekunden eine neue Anfrage stellt und nachfragt, ob sein Prozess schon fertig ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C I/O - Synchronisation durch Threads in einem ChatClient Netzwerkprogrammierung 4
T TCP mit und ohne Threads Netzwerkprogrammierung 1
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
D Exception Handling bei In/Outputsockets in eigenen Threads Netzwerkprogrammierung 1
C Frage zu Threads & Server Netzwerkprogrammierung 4
K Threads closen und Sockets schliessen Netzwerkprogrammierung 5
J Threads & Streams Netzwerkprogrammierung 9
P RMI Threads die über RMI auf Datenbank zugreifen Netzwerkprogrammierung 2
S HTTP ServerSockets und Threads Netzwerkprogrammierung 5
B Sockets, Threads & Plugins Netzwerkprogrammierung 7
T Verbindungsversuche über TCP Sockets von mehreren Threads führt zu Serverabsturz Netzwerkprogrammierung 2
M Verständnisfrage zu RMI und Threads Netzwerkprogrammierung 2
L einfacher server ohne threads Netzwerkprogrammierung 4
A Threads auflisten und nacheinander ansprechen Netzwerkprogrammierung 6
J Probleme mit Threads (Client terminiert) Netzwerkprogrammierung 4
P Threads einbinden Netzwerkprogrammierung 11
P RMI Callback (mit Threads?) Netzwerkprogrammierung 3
T RMI Threads und Synchronized Netzwerkprogrammierung 13
A Datenverteilung: Mehrere Threads verwenden? Netzwerkprogrammierung 4
S Threads beim Server koordinieren Netzwerkprogrammierung 5
L ClientServer mit 2 Threads Netzwerkprogrammierung 5
N Threads und Socketprogrammierung Netzwerkprogrammierung 4
G 1 Socket 2 Threads problem Netzwerkprogrammierung 13
K Problem mit Threads Netzwerkprogrammierung 3
S Threads bei Web Service sinnvoll oder Alternative? Netzwerkprogrammierung 2
K Hintergrund - Threads Netzwerkprogrammierung 3
G Socket Programmierung - Max. Threads Netzwerkprogrammierung 5
C NetScanner arbeitet trotz Threads langsam Netzwerkprogrammierung 6
L UDP-Server mit Threads Netzwerkprogrammierung 8
K Windows 10 Threads gleichzeitig Netzwerkprogrammierung 18
C Join von Threads bei I/O-Operation Netzwerkprogrammierung 6
F Threads synchronisieren mit Pipes Netzwerkprogrammierung 3
G benötige Beispiel für parallel ablaufende Threads Netzwerkprogrammierung 3
F Problem mit Threads und Sockets Netzwerkprogrammierung 3
TRunKX Threads beenden sich selber? Netzwerkprogrammierung 6
T Kleiner Chatserver: Threads oder Multiplex? Netzwerkprogrammierung 18
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
J client server mit nur einem PC Netzwerkprogrammierung 33
L Socket Wie kann man in Java die Anzahl der Objekte in einem InputStream sehen ohne ihn durchgehen zu müssen Netzwerkprogrammierung 1
E JCIFS - Smb - Datei kann nur von einem Benutzer bearbeitet werden Netzwerkprogrammierung 1
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
T Socket Java Programm hängt sich auf bei dem versuch von einem Socket scanner Daten zu erhalten. Netzwerkprogrammierung 1
J Daten von einem HTML-Textfeld abrufen Netzwerkprogrammierung 3
S FTP Verbindung zu einem BS2000 Großrechner mit Commons Net Netzwerkprogrammierung 0
P HTTP Bild von einem Server per http kopieren Netzwerkprogrammierung 1
X Mit Java eine Applikation auf einem anderen Windows Rechner (Windows Server 2008) starten Netzwerkprogrammierung 1
M allgemeine Frage zu einem Web Service Client Netzwerkprogrammierung 2
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
7 Mehrere Verbindungen gleichzeitig in einem Thread mit ApacheHTTP Netzwerkprogrammierung 7
E Verbindung zu SQL-Datenbank auf einem Server Netzwerkprogrammierung 13
B Grundlegende Fragen zu einem Verbindungsaufbau in einem LAN Netzwerkprogrammierung 15
Rudolf Socket An welchen Port sendet ein Mailserver zu einem anderen Mailserver Netzwerkprogrammierung 8
S Socket-Frage zu einem LAN-Spiel. Netzwerkprogrammierung 3
F HTTP HTTP-Download: Dateien in einem Verzeichnis ermitteln Netzwerkprogrammierung 8
N über Java in eine Text-Datei auf einem Server schreiben Netzwerkprogrammierung 2
M Was macht Thread, wenn er aus einem "leeren" Inputstream liest ? Netzwerkprogrammierung 5
C Verbindung zu einem Hostrechner über das Internet herstellen Netzwerkprogrammierung 15
N Java NIO eingehende und ausgehende Verbindungen mit einem Selector Netzwerkprogrammierung 12
cedi Socket Mehrere Clients an einem Server Netzwerkprogrammierung 4
D Socket Automatischer Reconnect nach einem Disconnect. Netzwerkprogrammierung 4
H Socket Socket verbindung mit einem TeamSpeak2 Server Netzwerkprogrammierung 5
P Wie gibt man einem GUI Programm ein Web interface? Netzwerkprogrammierung 5
D "FileChooser" auf einem Webserver Netzwerkprogrammierung 5
D Verbindung zu einem Server - POST Netzwerkprogrammierung 2
J Mit Java Anwendung ein (externes) Programm auf einem AIX Rechner starten Netzwerkprogrammierung 6
Schandro Herausfinden ob hinter einem Port bereits ein ServerSocket steckt Netzwerkprogrammierung 2
E Zeit von einem Zeitserver beziehen? Netzwerkprogrammierung 4
H Mit Java ein JPG auf einem Server öffnen. Netzwerkprogrammierung 7
U problem mit verbindung zu einem irc server Netzwerkprogrammierung 3
D Multicast geht nur auf einem Rechner Netzwerkprogrammierung 9
A Java-Programm auf einem Server laufen lassen Netzwerkprogrammierung 9
E upload progress bei einem http file post Netzwerkprogrammierung 5
C Verbindung zum Server prüfen mit einem vorhandenem Socket Netzwerkprogrammierung 4
S RMI server in einem Mehrbenutzer-System mit Auth? Netzwerkprogrammierung 10
D Verbindung über ein Servlet zu einem Server Netzwerkprogrammierung 4
B Im eingelesenen Text nach einem Wort suchen Netzwerkprogrammierung 46
V Einen Eintrag aus einer Zip Datei von einem Server laden Netzwerkprogrammierung 2
G Anzahl verbundener Clients zu einem FTP-Server ermitteln? Netzwerkprogrammierung 4
M Datei auf einem Server ausführen Netzwerkprogrammierung 4
V Kann keine DatagramPackets versenden von einem Jar Archiv Netzwerkprogrammierung 4
N Dateigröße einer Datei auf einem HTTP-/Web-Server. Netzwerkprogrammierung 9
V Zuweisen einer InetAddress mit einem byte Netzwerkprogrammierung 5
J Webserver auf einem Pocket PC Netzwerkprogrammierung 2
S Dateien auf einem HTTP Server Netzwerkprogrammierung 2
B Laden einer *.csv Datei von einem Webserver (http-request) Netzwerkprogrammierung 8
R In Text Datei schreiben die auf einem Server liegt Netzwerkprogrammierung 8
C Login bei einem php-script Netzwerkprogrammierung 2
B HEX String zu einem Byte Array ? *verzweiflung* :( Netzwerkprogrammierung 16
P Probleme mit einem Array aus Sockets Netzwerkprogrammierung 2
O Dateien von einem Server laden Netzwerkprogrammierung 3
T Datei, auf einem Netzwerkrechner speichern. Netzwerkprogrammierung 11
S MySQL, PHP, Perl Support in einem Java HTTP Server? Netzwerkprogrammierung 7
B Axis2 Webservice mit Client Zertifikat Authentifizierung Netzwerkprogrammierung 3
S Fragen zu Java Webservice mit Axis2 Netzwerkprogrammierung 0
R per Webservice mit GLS kommunizieren Netzwerkprogrammierung 2
L HTTP Restful Webservice Respone mit Null Body Netzwerkprogrammierung 3
H HTTP Rest Webservice mit Swagger Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben