Kann mir jemand sagen, wie man eine garantierte Lieferung mit camel-redisis durchführt?Kamel-garantierte Lieferung mit Redis
Mein Anwendungsfall ist so etwas wie unten: -
from("jetty:http://localhost:8888/hello").to("redis://...")
Sobald die Nachricht einen Erfolg Reaktion auf http-Client Redis geschrieben senden, so dass der Kunde für die Antwort nicht blockiert wartet.
Dann in einem anderen Weg möchte ich die Nachricht von redis wie unten verarbeiten und sie dann aus redis löschen, wenn die Verarbeitung
from("redis://...").to(...)
Guter Ansatz - es heißt "Speichern und Weiterleiten" -Muster. Siehe http://redis.io/commands/rpoplpush. Was genau ist dein Problem mit der Implementierung des Musters? – gusto2
Wie behandelt man den Fall, wenn nach dem Lesen der Nachricht von redis im Pfad 'from (" redis: // ") .to (...). To (...)' ein Fehler auftritt und die Nachricht nicht zugestellt wird zum endgültigen Bestimmungsort? Wie füge ich die Nachricht zur ursprünglichen Liste zurück? – tuk
Wenn ich BRPOPLPUSH verwende und für eine Zeitüberschreitung keine Bestätigung erfolgt, verschiebe die Nachricht aus der Zielliste zurück in die ursprüngliche Liste. Wenn es eine Bestätigung gibt, löschen Sie die Nachricht. Können Sie vorschlagen, was der beste Weg ist, um dies mit Java dsl zu implementieren? – tuk