我有一个Java系统,可以接收以专有的二进制格式发送的消息,并需要对其进行解码、处理和执行某些操作。根据消息有效载荷的不同,消息具有隐含的优先级。我想在系统中使用优先级队列的语义,使用独立的消费者线程读取队列。问题是,一旦系统接受了网络上的消息,它必须保证最终处理该消息,即使系统在接收和处理之间崩溃。因此,我希望将我的优先级队列与持久性支持结合起来。我正在寻找在Java中轻量级地实现这一点的方法,而不是使用完全的ESB或类似工具。
一些额外的信息:我们在亚马逊云中,JMS不是我们环境中的选项。我们可以使用SQS,但它不支持优先级概念,需要轮询,这并不是理想的选择。
谢谢。
一些额外的信息:我们在亚马逊云中,JMS不是我们环境中的选项。我们可以使用SQS,但它不支持优先级概念,需要轮询,这并不是理想的选择。
谢谢。