Я верю, что Тим прав.В вашем примере похоже, что вы используете расширение Solace, а не стандартный режим подтверждения клиента JMS.Пожалуйста, попробуйте указать стандартный режим подтверждения клиента JMS при создании сеанса.Например:
QueueSession queueSession = queueConnection.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
Исходное расширение SOL_CLIENT_ACKNOWLEDGE, которое вы изначально указали, позволяет вам подтверждать определенное сообщение без неявного подтверждения всех других сообщений, полученных сеансом.Это полезно, если у вас есть несколько рабочих потоков, обрабатывающих сообщения из сеанса.Каждый поток может подтвердить свое сообщение, когда он завершил обработку, неявно подтверждая сообщения, обрабатываемые другими потоками.