activemq 设置过期时间后消息收不到

发布时间 2023-12-11 22:47:52作者: lutt123

要在activemq.xml配置文件中添加Timestamp Plugin的配置,你可以按照以下步骤操作:

  1. 打开你的activemq.xml配置文件。
  2. <broker>标签内找到<plugins>部分。
  3. <plugins>部分中添加<timeStampingBrokerPlugin>标签,并设置你想要的属性。例如,如果你想要设置TTL上限为1天(86400000毫秒),可以这样配置: 
    <plugins>
        <!-- 86,400,000 ms = 1 day -->
        <timeStampingBrokerPlugin ttlCeiling="86400000" zeroExpirationOverride="86400000"/>
    </plugins>
    
  4. 保存并重新启动ActiveMQ服务以使更改生效。

请注意,启用Timestamp Plugin可能会导致JMS不符合标准,因为生产者和消费者看到的消息时间戳可能会不同1。此外,如果消费者的本地时钟比代理的本地时钟快,那么在默认配置下加载此插件时,消费者可能会认为消息已经过期1。如果代理和消费者之间的时钟差异大于消息过期时间,并且消费者的时钟走得更快,那么可以将futureOnly设置为true

 

ActiveMQ (apache.org)