【问题标题】:How to get all messages from IBM MQ in Mulesoft如何在 Mulesoft 中从 IBM MQ 获取所有消息
【发布时间】:2021-09-25 04:10:30
【问题描述】:

我是队列的新手,我有一个单独发布消息的队列。使用调度程序,我需要在特定时间使用 IBM MQ 连接器中的所有消息。

因为消费者一次只获取一条消息,调度程序每天只运行一次。那么如何实现从队列中获取所有消息的需求呢?

谁能建议这是否可以实现,如果可以,方法是什么?

提前致谢。

【问题讨论】:

    标签: mulesoft mule4


    【解决方案1】:

    我假设您的问题是指在 Mule 4 中部署的 Mule 应用程序中使用 IBM MQ 连接器,这是一家名为 MuleSoft 的公司的产品。

    队列通常不以这种方式使用。一次读取和处理一条消息。如果您需要阅读所有消息,只需使用listener 即可接收所有消息。如果您需要在给定时间阅读一条消息,请使用consume 操作。但是,如果您想在某个时间段内处理所有可能的消息,您有几种选择来实现:

    • 使用侦听器作为流的来源,并在流的主体中添加一个选项以检查一天中的时间是否合适。如果不使用manual acknoledgement 再次将消息回滚到队列中并在流程完成之前抛出错误。

    • 在适当的时候使用调度程序start and stop the listener flow programmatically。这可能会也可能不会起作用,因为它会混淆连接器并引发错误。我看到过去发生过这种情况。

    我的建议是避免这样做,而只使用侦听器来阅读所有消息。要求发件人仅在适当的时间发送消息;-)

    【讨论】:

    • 感谢您提供详细信息。队列中的消息是实时连续添加的,因此不能限制在特定时间发送消息:-(.
    • 是否有正当理由只处理一天中的特定时间?如果当时无法处理所有消息会怎样?
    • 从队列中,消息被推送到数据库,并且用户想要从数据库中运行特定日期的报告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    相关资源
    最近更新 更多