【发布时间】:2019-10-19 07:32:27
【问题描述】:
在我的 activemq 配置中,我希望为每个队列配置一个过期时间或生存时间,这样我可以保证我的 ActiveMQ 代理中不会出现内存问题。
我配置了三种不同的发布类型:
- 直接发布到队列;
- 发布到配置为 VirtualTopic 的主题,将消息重定向到队列;
- 发布到重定向到队列的 VirtualTopic。然后将此队列配置为 JMS 网桥的入站队列,然后将重定向到出站队列。
我知道生存时间是在发布者端配置的,并且我在前两种情况下得到了它。虽然,在第三种情况下,我似乎失去了这个 JMS 属性并且我没有配置过期(在网桥的出站/最终队列上)。
我使用 Hawtio 查看最终队列中存在哪些属性,并确认 JMSExpiration 属性为 0,在途中丢失。基本上属性的路径和状态如下:
- 虚拟主题:已配置过期
- 网桥的入站队列:已配置过期
- 网桥的出站队列:没有配置过期
网桥的配置如下:
<jmsBridgeConnectors>
<jmsQueueConnector outboundQueueConnectionFactory="#localBroker" localQueueConnectionFactory="#localBroker">
<outboundQueueBridges>
<outboundQueueBridge
localQueueName = "CONSUMER.EXAMPLE.INBOUND.QUEUE"
outboundQueueName = "CONSUMER.EXAMPLE.OUTBOUND.QUEUE"/>
</outboundQueueBridges>
</jmsQueueConnector>
您知道在网桥重定向之间丢失 JMS 属性是否正常?如果是这样,我如何配置过期或时间以在出站队列中存活?
谢谢
【问题讨论】:
标签: jms activemq message-queue messagebroker jms-topic