Implementieren einer dateibasierten Warteschlange

Ich habe eine speicherbegrenzte Warteschlange, in der mehrere Threads Objekte in die Warteschlange stellen. Normalerweise sollte die Warteschlange von einem einzelnen Reader-Thread geleert werden, der die Elemente in der Warteschlange verarbeitet.

Es besteht jedoch die Möglichkeit, dass die Warteschlange voll ist. In einem solchen Fall möchte ich alle zusätzlichen Elemente auf der Festplatte beibehalten, die von einem anderen Hintergrund-Reader-Thread verarbeitet werden, der ein Verzeichnis nach solchen Dateien durchsucht und die Einträge in den Dateien verarbeitet. Ich bin mit Active MQ vertraut, bevorzuge jedoch eine leichtere Lösung. Es ist in Ordnung, wenn das "FIFO" nicht genau befolgt wird (da die persistierten Einträge möglicherweise nicht in der richtigen Reihenfolge verarbeitet werden).

Gibt es Open Source-Lösungen? Ich fand keine, dachte aber, ich würde diese Liste nach Vorschlägen absuchen, bevor ich mich selbst an die Umsetzung mache.

Vielen Dank

Antworten auf die Frage(14)

Ihre Antwort auf die Frage