Это не большая вещь, чтобы реализовать себя.Я фактически сделал это вчера (хотя в c # это все еще было против JMS)
Так что, хотя я не могу предложить вам прямой ответ, я могу рассказать вам об опыте, который у меня был при выполнении того же требования
Одна ошибка, с которой я столкнулся, заключалась в том, что я запускал несколько потребителей в очереди (каждый из которых предоставлял пакетную обработку), а предварительная выборка в очереди означала, что мой JMS-брокер почти полностью обрабатывал доставку сообщений моим потребителям
Это прекрасноприемлемое поведение, но в некотором роде идет вразрез с идеей пакетной обработки. В итоге я развернул свой собственный механизм синхронизации по потребителям, чтобы координировать, кто потребляет, и, что более важно, отключить предварительную выборку.