【问题标题】:how to set expiry in IBM MQ message header using Apache Camel如何使用 Apache Camel 在 IBM MQ 消息头中设置过期时间
【发布时间】:2018-12-17 19:42:13
【问题描述】:

我们正在使用 Spring-Boot 和 Apache camel 连接到 IBM MQ。我们需要在 MQMessages 中设置过期时间,这样如果我们没有得到任何响应,消息应该在 60 秒后过期。我们添加了如下标题:

setHeader(WMQConstants.WMQ_EXPIRY, 常量(600));

但标题被添加如下:

<usr>
<breadcrumbId>ID-ff9c1ce374f9-1544430870241-0-2</breadcrumbId>
<expiry dt='i4'>60000</expiry>

它没有添加到 MQMD 标头,并且在浏览消息时将过期值显示为“-1”,即消息永远不会过期。

您能告诉我如何在 Apache Camel 中设置 MQMD 标头吗?

【问题讨论】:

    标签: ibm-mq


    【解决方案1】:

    查看 Camel JMS manual 并通过 Spring JMS 模板成功使用 IBM MQ 消息到期,您可能必须将 Camel 选项 explicitQosEnabled=truetimeToLive=60000 设置为 60 秒的生存时间。

    【讨论】:

    • @Sudipta Biswas:这个答案解决了你的问题吗?如果是,请accept。如果没有,我们必须尝试其他方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 2018-07-17
    • 2018-02-08
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    相关资源
    最近更新 更多