活动MQ |配置网桥时 JMS 属性丢失

ActiveMQ | JMS Properties lost when configuring bridges

在我的 activemq 配置中,我想为每个队列配置一个过期时间或生存时间,这样我可以保证我的 ActiveMQ 代理中不会出现内存问题。

我配置了三种不同类型的发布:

我知道生存时间是在发布者端配置的,我在前两种情况下都能正常工作。虽然,在第三种情况下,我似乎松开了这个 JMS 属性 并且我没有配置过期(在桥的 outbound/final 队列上)。

我使用 Hawtio 查看最终队列中存在哪些属性,我确认 JMSExpiration 属性 为 0,在途中丢​​失。基本上属性的路径和状态如下:

  1. 虚拟主题:已配置过期
  2. 网桥的入站队列:已配置过期
  3. 网桥的出站队列:没有配置过期

网桥配置如下:

<jmsBridgeConnectors>
<jmsQueueConnector outboundQueueConnectionFactory="#localBroker" localQueueConnectionFactory="#localBroker">
    <outboundQueueBridges>

        <outboundQueueBridge
                localQueueName = "CONSUMER.EXAMPLE.INBOUND.QUEUE"
                outboundQueueName = "CONSUMER.EXAMPLE.OUTBOUND.QUEUE"/>

    </outboundQueueBridges>
</jmsQueueConnector>

您知道在桥接重定向之间丢失 JMS 属性是否正常吗?如果是这样,我如何配置出站队列的过期时间或生存时间?

谢谢

我设法使用现有插件解决了我自己的问题,该插件基本上为每个没有队列的队列设置了到期日期。

配置如下:

<plugins>
     <timeStampingBrokerPlugin zeroExpirationOverride="172800000"/>
</plugins>