Как я могу расставить приоритеты в сообщениях в разных очередях?

StackOverflow https://stackoverflow.com/questions/8801949

Вопрос

Распределение ресурсов/приоритетная проблема.

Я работаю над приложением Java EE, в котором есть несколько бобов, управляемых сообщением (MDB), которые получают сообщения из разных очередей JMS, допустим, очереди A/MDB A и очередь B/MDB B для простоты.

Когда существует высокая загрузка, система должна определить приоритеты сообщений в очереди. Сообщения в очереди необходимо обработать как можно быстрее, и, следовательно, MDB - все «все» DB, ресурсы процессора и т. Д.

У вас есть какие -либо советы о том, как решить это чисто? Не так чисто может сработать ...

Мой производственный сервер - WebSphere Application Server 7, используя SIBUS для доставки сообщений. WebSphere MQ может быть вариантом.

Спасибо за любые предложения!

Это было полезно?

Решение

После изучения этой проблемы с людьми, которые являются экспертами в области, у меня есть плохие новости:

Это, вероятно, нельзя сделать.

100% нельзя сделать с помощью SIB, вы можете расставить приоритеты только в одном месте назначения.

Что касается WebSphere MQ, также кажется, что это не может быть сделано, они только свойства для приоритета очереди находятся при работе с одной очередью в кластере, что, я думаю, не помогает вам.

Так что, к сожалению, это, вероятно, нельзя сделать, если вам нужно расставить приоритеты сообщений, вам может потребоваться немного изменить свою архитектуру. Возможно, одна очередь с селектором. Тогда вы можете расставить приоритеты в сообщениях какого -то типа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top