Вам не нужно ничего делать, чтобы поддерживать порядок; это одна из вещей, которую делает для вас очередь сообщений. Я думаю, что если у вас есть один потребитель, слушающий очередь, и он обрабатывает сообщения не по порядку, то вы либо обнаружили ошибку, либо сообщения не помещены в очередь в том порядке, в каком вы думаете.
Также есть этот вопрос из ActiveMQ FAQ , который может помочь.
Редактировать: Прочитав комментарии к ответ Даффимо , похоже, что вы немного переоцениваете силы. Как правило, такие очереди сообщений, как ActiveMQ, MQ Series, joram и т. Д., Имеют две характеристики: они доставляют сообщения в том же порядке, в котором они помещены в очередь, и гарантируют доставку сообщения. Отправка отдельного сообщения ACK является избыточной; это немного похоже на фиксацию транзакции базы данных, а затем запрос той же информации для повторной проверки того, что база данных действительно ее сохранила.
Сказав это, ваш сервер многопоточный? Если это так, он может поставить в очередь ответ до , он поставит в очередь ACK.