Как убедиться, что подтверждение сообщения удаляет только сообщения до сообщения, для которого подтверждение вызывается в брокере jms. В настоящее время у меня есть система, которая использует очередь jms и частично ее обрабатывает. Через некоторое время пакет этих сообщений сохраняется другим потоком. Мне нужно подтверждать сообщения сейчас. Но проблема в том, что я должен перестать потреблять сообщения, иначе подтверждение ранее полученного сообщения также подтвердит получение всех других последующих сообщений.
Другими словами, предположим, что у меня есть 10 сообщений в очереди. Я потребляю 7 из них, а затем подтверждаю 5-е сообщение. Это, в свою очередь, удаляет все 7 сообщений, полученных потребителем, из очереди. Есть ли способ подтверждать и удалять сообщения только из очереди до 5-го сообщения.
РЕДАКТИРОВАТЬ: я пытался создать два сеанса и использовать их из разных сеансов, но (по крайней мере, с apache qpid) это работает непоследовательно. Под непостоянством я подразумеваю, что иногда во время теста бывает так, что один потребитель может получать сообщения, а другой не получает вообще, сколько бы вы ни ждали. Это сработало бы для меня как решение, но из-за несоответствия я не могу использовать это как решение.