Расставьте приоритеты в реальном времени над пакетными сообщениями, используя Очереди / MDB - PullRequest
0 голосов
/ 01 февраля 2012

В моем приложении конкретная служба имеет постоянную полосу пропускания (например, для 100 транзакций одновременно), запросы к службе поступают в режиме реального времени, а также пакетные задания (очереди). Запросы в реальном времени не имеют равномерного распределения. Мне нужен способ убедиться, что задания в реальном времени обрабатываются в первую очередь перед пакетными заданиями, а также чтобы в любой момент я не превышал порог службы.

Пожалуйста, оцените следующий подход.

Имеют 2 очереди A - в режиме реального времени и B - Пакетное задание. Иметь пул потоков размером = 100 (порог обслуживания) и позволить Пул потоков сначала попытается выбрать сообщения из A, если кто-либо еще выберет из B.

Мое приложение работает в Weblogic, я хочу использовать MDB вместо пула потоков, но нет способа заставить MDB прослушивать несколько очередей.

1 Ответ

0 голосов
/ 09 февраля 2012

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

Другим вариантом может быть установка свойства JMS для сообщения с клиентом и использование средства выбора сообщений на MDB. Вы можете установить MY_MESSAGE_TYPE = batch / rt, а затем развернуть несколько MDB, которые прослушивают одну и ту же очередь, но могут быть назначены различным менеджерам работ. Имейте в виду, что Work Manager! = Пул потоков. Вы также можете установить класс запросов, чтобы гарантировать, что при использовании пакетного пула RT-пул не будет нуждаться в потоках / ЦП.

С этим дизайном я считаю, что если у вас есть два MDB, один с селектором сообщений, сообщения, которые соответствуют критериям селектора, должны быть доставлены в MDB с этим селектором (RT) до MDB без селекторов (BATCH). Это было бы довольно простым POC - настроить клиента, который отправляет сообщения в очередь, для некоторых из которых свойство JMS имеет значение RT, а для других - без него.

10,0 ссылка (которая все еще применима): http://docs.oracle.com/cd/E11035_01/wls100/config_wls/self_tuned.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...