У меня есть система Java, которая получает сообщения по сети в запатентованном двоичном формате, который необходимо декодировать, обрабатывать и что-то делать. Сообщения имеют предполагаемый приоритет в зависимости от их полезной нагрузки. Я хотел бы использовать семантику очереди приоритетов в системе с отдельными потоками потребителей, читающими очередь. Проблема заключается в том, что, как только система приняла сообщение по сети, она должна в конечном итоге обработать его, даже если система вышла из строя между получением и обработкой. Таким образом, я хотел бы поддержать свою очередь приоритетов с постоянством. Я ищу облегченные способы достижения этого в Java внутри процесса веб-контейнера, в отличие от использования полностью развернутого ESB или аналогичного.
Некоторая дополнительная информация: мы находимся в облаке Amazon, и JMS, к сожалению, не подходит в нашей среде. Мы могли бы использовать SQS, но это не поддерживает концепцию приоритета и требует опроса, который на самом деле не идеален.
Спасибо