【发布时间】:2014-05-06 15:09:42
【问题描述】:
我正在使用 Spring 连接到具有持久订阅的 Websphere MQ 主题:
<jms:message-driven-channel-adapter
channel="springChannel"
destination-name="wmqTopic"
connection-factory="connectionFactory"
destination-resolver="destinationResolver"
subscription-durable="true"
durable-subscription-name="myDurableSubscriptionName" />
由于这是一个持久订阅,我意识到虽然应用程序没有订阅 WMQ 中的主题,但下次连接时的消息会堆积在磁盘或内存中。我担心除非在某处指定超时,否则 WMQ 将耗尽内存或磁盘空间。
有谁知道我指定超时的选项是什么?它应该在message-driven-channel-adapter 或 WMQ 中,还是应该在发布前在消息上设置过期时间?
【问题讨论】:
-
只是古玩 - 当您可以接受消息到期时,为什么不使用非持久订阅?
-
@Shashi 如果发生故障,如果我们没有使消息过期,那么恢复将需要很长时间。我们宁愿丢失消息并更快地恢复。显然,理想的解决方案是快速处理所有消息,但这目前无法实现
标签: java spring jms ibm-mq spring-integration