对于比堆大的基于JVM的队列,存在哪些解决方案?

Ale*_*ler 8 java queue jvm

我正在研究基于JVM的系统中队列的可能技术选择(或者可能是更好的描述).

一些要求:

  • 必须可以从JVM/Java访问.
  • 队列必须支持大于JVM堆的大小,可能大于所有可用RAM.因此,隐含了对利用磁盘(或网络)进行存储的支持.
  • 目前,队列在处理生命周期内不需要持久.
  • 队列的大多数使用将具有单个生产者和单个消费者.因此,任何特定队列的并发性都不是问题.(显然,并发在队列中很重要.)
  • 队列是临时的和临时的.它们存在,被填满,被排干,然后消失.
  • 小队列应该优选地留在内存中,然后根据资源可用性转移到较慢的存储.在排队技术之上可以满足此要求.

我正在研究几个选项,但我很好奇我缺少哪些选项?

Ale*_*exR 1

使用可用的 JMS 实现之一。例如来自 Jakarta 的 ActiveMQ 或 Qpid。