Селектор должен быть примерно таким:
"JMSTimestamp > " + (System.currentTimeMillis() + 180000);
Однако селектор устанавливается на базовом потребителе JMS при его создании и является неизменяемым, поэтому этот селектор быстро устареет со временемвсегда движется вперед.Для изменения селектора потребуется закрыть существующего потребителя и создать нового потребителя с новым селектором.Очевидно, что в этом случае Spring обрабатывает создание потребителя и устанавливает селектор, поэтому вам нужно либо отказаться от Spring и использовать JMS API самостоятельно (что не сложно).
Другое потенциальное решение будетустановить время жизни сообщения 3 минуты и определить очередь экспирации для любого брокера, которого вы используете, и потребление из этой очереди экспирации вместо основного, поскольку все сообщения в очереди истечения будут гарантированнобыли в главной очереди не менее 3 минут.