【问题标题】:Websphere MQ Durable Topic TimeoutWebsphere MQ 持久主题超时
【发布时间】: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


【解决方案1】:

还是应该在消息发布前设置过期时间?

是的。

【讨论】:

  • 谢谢加里。您能否确认绝对不可能将主题配置为使消息过期(即主题上的任何消息的全局超时),无论发布是否过期?此外,一旦断开连接,持久订阅将永远持续(直到手动删除),或者如果在 X 时间范围内未连接,WMQ 中是否有一个参数可以删除持久订阅?
  • 您必须查阅 IBM 的文档;我的回答是从纯 JMS(标准)的角度。
猜你喜欢
  • 1970-01-01
  • 2011-05-29
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
相关资源
最近更新 更多