Apache camel Camel-ActiveMQ:使用基于JMSTimestamp的消息

Apache camel Camel-ActiveMQ:使用基于JMSTimestamp的消息,apache-camel,activemq,Apache Camel,Activemq,我已经定义了一个路由,它可以毫无问题地使用队列中的消息,而现在我正在尝试使用队列中已存在12小时的消息,我想到了使用选择器,但不知道如何将其与jmstiestamp一起使用,以满足12小时的标准 这是路线: <route id="INBOUND.RECEIVE.IN"> <from uri="activemq:queue:QXL.INBOUND.RECEIVE.IN?selector=JMSTimestamp%3D${date.time}&amp

我已经定义了一个
路由
,它可以毫无问题地使用队列中的消息,而现在我正在尝试使用队列中已存在12小时的消息,我想到了使用
选择器
,但不知道如何将其与
jmstiestamp
一起使用,以满足12小时的标准

这是
路线

<route id="INBOUND.RECEIVE.IN">
    <from
        uri="activemq:queue:QXL.INBOUND.RECEIVE.IN?selector=JMSTimestamp%3D${date.time}&amp;concurrentConsumers=10&amp;destination.consumer.prefetchSize=0&amp;deliveryPersistent=true&amp;username=admin01&amp;password=001!admin01001!" />
    <pipeline>
        <bean method="inboundReceive" ref="logipalServices"/>
    </pipeline>
</route>

这是枣豆

    <bean id="date" class="java.util.Date"  scope="prototype"/>  

根据您的解释,我认为您的选择器有问题

jmsistestamp%3D${date.time}
表示
jmsistestamp=${date.time}

这意味着您正在查找带有精确的
jmstiestamp
的所有消息。由于以毫秒为单位返回时间,因此不太可能从队列中检索任何消息

我想你应该试试这样的东西:

JMSTimestamp > current date - 12 hours (pseudo code for selector)
我希望这对你有帮助