HTTP Get Queue

Fohnbit

Top Contributor
Hallo!

Ich muss in unterschiedlichen Intervallen HTTP Get requests absetzen.
Wenn ich jedoch einen Fehler zurückbekomme (Ziel nicht erreichbar, Webseite down, ...) erhalte ich einen Fehler und muss:
Die URL für den HTTP get später nochmal senden.

Es kann aber sein, dass inzwischen eine neue Abfrage gesendet werden soll.

Wie mache ich das am besten? Mit einem Producer/Consumer:
Meine Classe (der Producer) legt alle HTTp get url´s in eine LinkedBlockingQueue.
Der Consumer wartet bis etwas in der Queue liegt, und arbeitet dann alles ab, was darin liegt.

Falls ein HTTP get fehl schlägt, legt er diese URL wieder zurück in die Queue. So wäre der Consumer aber auch Producer(?)

Für einen Tipp wäre ich dankbar!
 

Tobse

Top Contributor
Ich sehe in diesem Modell eigentlich kein Problem. Du kannst aber auch folgendes machen:

Der Producer ist gleichzeitig auch Observer von den Requests, die er in die Queue gelegt hat. Bei Erfolg/Fehler eines Requests bekommt der Producer auf jeden Fall bescheid. Wenn der Request fehlgeschlagen ist legt der Producer den Request wieder in die Queue.
 

Fohnbit

Top Contributor
Hallo!

Danke, ist mir noch nicht ganz klar:
Wie bekommt der Producer mit, ob ein http request fehl schlägt? Ist es nicht so, das er nur bescheid bekommt, das ein Eintrag aus der Queue genommen wird?
Eventuell hast ein kurzes Beispiel?

Danke!
 

Tobse

Top Contributor
Du kapselst deine Http-Requests in eine eigene Klasse. Auf Instanzen dieser Klasse kann man dann listener registrieren, álá

Java:
request.addCompletionListener(new HttpRequestCompletionListener() {
    public void requestSucceeded(HttpRequest request, HttpResponse response)
    { /* request hat funktioniert */ }
    public void requestFailed(HttpRequest request, IOException error)
    {
            queue.add(request);
    }
});

Der Producer registriert also auf jeden HttpRequest, den er in die Queue steckt, einen Listener (vllt macht es auch Sinn, den Listener bei der Queue und nicht beim Request zu registrieren). Wenn dann der Consumer den Request behandelt kann er das entsprechende Event auslösen und samit dem Producer Feedback geben.
 
Zuletzt bearbeitet:

Fohnbit

Top Contributor
Hallo!

OK, verstanden. Aber was spricht dagegen, statt dem Producer zu informieren, gleich das Request wieder in die Queue zu legen?

Außerdem kann ich dem Producer gleich fix einem Listener zuteilen, oder? Es wäre ja egal bei welchem Request der Fehler kommt.
Es wird auch nur einen Producer geben.

Danke für die Hilfe!
 

Tobse

Top Contributor
An sih spricht nichts dagegen. Aber wenn du später mehere Producer hast oder bestimmte Requests eben nicht wiederholt werden sollen (oder vllt nur 3 mal, danach abbrechen?) musst du viel an deinem Code ändern. Wenn du es direkt so modular aufbaust sparst du dir bei solchen Änderungen viel Arbeit.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Rest- Api mit HTTP BASIC Authentication Java Basics - Anfänger-Themen 16
L Webseite aufrufen (HTTP) Java Basics - Anfänger-Themen 8
P Maven-Dependencies (package org.apache.http.nio does not exist) Java Basics - Anfänger-Themen 6
S XML mittels HTTP Get Anfrage Java Basics - Anfänger-Themen 4
W Netwerkprogrammierung und Http Server Java Basics - Anfänger-Themen 10
R HTTP-Links in Java Class finden Java Basics - Anfänger-Themen 3
P Http Header, Http Proxy Java Basics - Anfänger-Themen 19
W HTTP-Stream auf Ajax umbauen Java Basics - Anfänger-Themen 7
F Http Post von mehreren Daten Java Basics - Anfänger-Themen 5
K URL ohne http:// Java Basics - Anfänger-Themen 8
J HTTP Request auf eine PHP Session Java Basics - Anfänger-Themen 1
E HTTP Client - Login durchführen? Java Basics - Anfänger-Themen 4
T Input/Output HTTP 403 aber im Browser gehts Java Basics - Anfänger-Themen 2
G Kraken HTTP Sniffer: ExceptionInInitializerError (Nutzt JNI) Java Basics - Anfänger-Themen 2
O get HTTP Headers Java Basics - Anfänger-Themen 5
L Methodenzerlegung HTTP Java Basics - Anfänger-Themen 4
S HTTP Adresse von offenem Browserfenset einlesen Java Basics - Anfänger-Themen 6
C HTTP POST-Request Java Basics - Anfänger-Themen 3
G http-Port beim Apache Tomcat ändern Java Basics - Anfänger-Themen 1
G HTTP Server Java Basics - Anfänger-Themen 2
S HTTP Request Umlaut Problem Java Basics - Anfänger-Themen 3
N Http-Request : Google Suche Java Basics - Anfänger-Themen 6
G http-Request auf Apache Tomcat Java Basics - Anfänger-Themen 13
G HTTP Body? Java Basics - Anfänger-Themen 4
A HTTP-Request Java Basics - Anfänger-Themen 15
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
J Mehrdimensionales Array im Http-Request Java Basics - Anfänger-Themen 5
M Http Redirect Java Basics - Anfänger-Themen 5
M HTTP-Anfragen und Socket Java Basics - Anfänger-Themen 2
T mit einem string der form"[url]http://www.*.*/*"[/url] datei Java Basics - Anfänger-Themen 3
J HTTP Request Auslösen Java Basics - Anfänger-Themen 2
P HTTP-Request Parameter übergeben Java Basics - Anfänger-Themen 8
G http client Java Basics - Anfänger-Themen 4
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Vererbung Queue bestehend aus Superclass- und Subclass-Objekten Java Basics - Anfänger-Themen 7
B Zahlenfolge von Queue in Stack Java Basics - Anfänger-Themen 29
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
P Priority Queue Performance Java Basics - Anfänger-Themen 3
Chabub Hilfe bei Stacks und Queue Java Basics - Anfänger-Themen 2
G Stack und Queue Arbeitsblatt Java Basics - Anfänger-Themen 3
F Queue zyklisch Java Basics - Anfänger-Themen 8
D Queue vs. Stack Java Basics - Anfänger-Themen 6
L Queue mithilfe von 2 Stacks erstellen Java Basics - Anfänger-Themen 1
B Automatisierung von Jobs / @EJB Scheduler / Verhinderung, dass Queue überläuft Java Basics - Anfänger-Themen 2
A Priority Queue / Comparator Java Basics - Anfänger-Themen 6
J Queue Warteschlange Java Basics - Anfänger-Themen 3
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
Y Unendlicher Ringbuffer (Queue) Java Basics - Anfänger-Themen 49
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
H Collections StackOverflowError in einer Queue Java Basics - Anfänger-Themen 3
R Klassen Die lineare Datenstruktur Queue Java Basics - Anfänger-Themen 3
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
K Queue enq Fehler Java Basics - Anfänger-Themen 2
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
A Queue (Array) leeren Java Basics - Anfänger-Themen 1
J Queue zyklisch auslesen Java Basics - Anfänger-Themen 4
B Generische Queue programmieren Java Basics - Anfänger-Themen 5
T Priority-Queue Java Basics - Anfänger-Themen 9
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
L Queue programmieren via BlueJ Java Basics - Anfänger-Themen 5
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
I Erste Schritte Queue Java Basics - Anfänger-Themen 14
G Queue auf einer Seite löschen, andre Seite schreiben Java Basics - Anfänger-Themen 3
G Queue mit int oder float Java Basics - Anfänger-Themen 3
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
P Priority Queue Java Basics - Anfänger-Themen 6
M Compiler-Fehler Queue als ArrayList mit Exceptions Java Basics - Anfänger-Themen 3
S Fehler beim Auslösen des ActionListeners in Verbindung mit einer Queue Java Basics - Anfänger-Themen 5
B Queue mit Daten aus einem Stack füllen Java Basics - Anfänger-Themen 21
P Collections Queue mittels ArrayList Java Basics - Anfänger-Themen 2
T Collections Queue<? extends Number> add() offer() Java Basics - Anfänger-Themen 13
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
R NullPointerException in Queue-Implementierung Java Basics - Anfänger-Themen 11
B Queue problem! Java Basics - Anfänger-Themen 2
R Queue abhören und Message in Browser ausgeben Java Basics - Anfänger-Themen 3
T Erstellung von Queue mit verkketten listen Java Basics - Anfänger-Themen 3
kulturfenster Stack / Queue Implementationen Java Basics - Anfänger-Themen 11
K Priority Queue - wo ist denn jetzt der Vorteil? Java Basics - Anfänger-Themen 7
W Iterator in Queue Java Basics - Anfänger-Themen 5
Q An erste Stelle in eine Queue eintragen Java Basics - Anfänger-Themen 4
H Stack und Queue Java Basics - Anfänger-Themen 6
M Threadsichere Queue in Java 1.5? Java Basics - Anfänger-Themen 2
G Int-Queue in String-Queue umwandeln Java Basics - Anfänger-Themen 5
A Queue erweitern Java Basics - Anfänger-Themen 13
P Queue, Stacks, Listen Java Basics - Anfänger-Themen 7
S Queue als Array implementiert get()? Java Basics - Anfänger-Themen 4
S Queue als verkettete Liste Java Basics - Anfänger-Themen 9
S Queue Java Basics - Anfänger-Themen 30
K Prüfen, ob Queue leer ist Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben