活动MQ |配置网桥时 JMS 属性丢失
ActiveMQ | JMS Properties lost when configuring bridges
在我的 activemq 配置中,我想为每个队列配置一个过期时间或生存时间,这样我可以保证我的 ActiveMQ 代理中不会出现内存问题。
我配置了三种不同类型的发布:
- 直接发布到队列;
- 发布到配置为 VirtualTopic 的主题,将消息重定向到队列;
- 发布到重定向到队列的 VirtualTopic。然后将该队列配置为 JMS 桥的入站队列,然后重定向到出站队列。
我知道生存时间是在发布者端配置的,我在前两种情况下都能正常工作。虽然,在第三种情况下,我似乎松开了这个 JMS 属性 并且我没有配置过期(在桥的 outbound/final 队列上)。
我使用 Hawtio 查看最终队列中存在哪些属性,我确认 JMSExpiration 属性 为 0,在途中丢失。基本上属性的路径和状态如下:
- 虚拟主题:已配置过期
- 网桥的入站队列:已配置过期
- 网桥的出站队列:没有配置过期
网桥配置如下:
<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>
在我的 activemq 配置中,我想为每个队列配置一个过期时间或生存时间,这样我可以保证我的 ActiveMQ 代理中不会出现内存问题。
我配置了三种不同类型的发布:
- 直接发布到队列;
- 发布到配置为 VirtualTopic 的主题,将消息重定向到队列;
- 发布到重定向到队列的 VirtualTopic。然后将该队列配置为 JMS 桥的入站队列,然后重定向到出站队列。
我知道生存时间是在发布者端配置的,我在前两种情况下都能正常工作。虽然,在第三种情况下,我似乎松开了这个 JMS 属性 并且我没有配置过期(在桥的 outbound/final 队列上)。
我使用 Hawtio 查看最终队列中存在哪些属性,我确认 JMSExpiration 属性 为 0,在途中丢失。基本上属性的路径和状态如下:
- 虚拟主题:已配置过期
- 网桥的入站队列:已配置过期
- 网桥的出站队列:没有配置过期
网桥配置如下:
<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>