Ich habe ein wenig Arbeit geleistet, um einige Daten von einem Webdienst abzurufen, aber jetzt habe ich das Problem, Anfragen an sie zu planen, und ich bin mir nicht sicher, wo ich anfangen soll.Wie ist die Aufgabenplanung implementiert?
Ich höre eine JMS-Warteschlange für Ereignisse und nach Erhalt eines Ereignisses muss ich eine Anfrage an den Web-Service nach einer bestimmten Zeit. Die Dauer hängt von den Ereignisattributen ab. Wenn der Webdienst false zurückgibt, muss ich weiterhin Anforderungen planen, bis der Wert true lautet.
Ich dachte über das Erstellen einer Nachschlageanforderung in einer Warteschlange nach dem Empfang eines Ereignisses oder einer falschen Antwort, aber das scheint nicht ideal - ich würde ständig Nachrichten konsumieren und die Zeit überprüfen, um zu sehen, ob eine Anfrage sollte noch gemacht werden und es in die Warteschlange zurückstellen, wenn nicht.
Wenn jemand Ratschläge zur Umsetzung eines solchen Problems hat, würde ich es sehr zu schätzen wissen.
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/DelayQueue.html Sehen Sie sich Java Delay Queue an. Sehr geeignet für zeitbasierte Aufgabenwarteschlangen. Hier ist der Quellcode http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/concurrent/DelayQueue.java#DelayQueue.take%28%29 – Anshul