В 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