Я работаю / готовлю приложение, основанное на модели производителя / потребителя.В моем случае будет один производитель, который сгенерирует несколько миллионов (нетривиальных) задач, и будет настраиваемое число потребителей.
Связь между производителем и потребителями в основном являетсяоснован.Однако меня беспокоит потребление памяти: вполне возможно, что количество задач превысит доступную память для JVM.Поэтому я хотел бы иметь реализацию Queue, которая хранит только «top-X» количество элементов очереди в памяти и сохраняет остаток на диске.Это не обязательно должно быть отказоустойчивым, поскольку не требуется переживать перезапуск программы.
Я искал, но не могу найти реализацию Queue, которая, кажется, широко используется (тамПохоже, это действительно несколько реализаций, которые я называю проверкой концепции, но я беспокоюсь о будущей поддержке / продолжении разработки этих реализаций).Я также посмотрел на внешние приложения очереди сообщений, но (1) я не хочу запускать второй внешний процесс и (2) даже встраивание брокера сообщений в один и тот же процесс JVM кажется немного «слишком тяжелым» для этого требования.
Кто-нибудь знает о какой-либо хорошо поддерживаемой библиотеке на будущее, которая предоставляет эту функциональность?
Rgds