Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm mq WebSphere MQ回退队列中消息的输入队列_Ibm Mq - Fatal编程技术网

Ibm mq WebSphere MQ回退队列中消息的输入队列

Ibm mq WebSphere MQ回退队列中消息的输入队列,ibm-mq,Ibm Mq,在WebSphereMQ设置中,我有几十个队列。 为了避免有害消息,我正在设置一个退出队列。 一旦导致退出的问题得到解决(在这种情况下),我希望能够将消息放回原始输入队列。 是否有元数据可以帮助我理解消息的来源,或者我是否必须为每个队列创建一个回退队列 “每个队列的退出队列”是为了简化问题,而不是真正的用例。 我看到它不起作用,我道歉。 我对您的回答的理解是,在这种情况下,我有多个队列需要回退队列(从业务角度)。我可以走两条路: 实现一个逻辑,该逻辑将基于内容,能够假定原始队列 每个队列使用BO

在WebSphereMQ设置中,我有几十个队列。 为了避免有害消息,我正在设置一个退出队列。 一旦导致退出的问题得到解决(在这种情况下),我希望能够将消息放回原始输入队列。 是否有元数据可以帮助我理解消息的来源,或者我是否必须为每个队列创建一个回退队列

“每个队列的退出队列”是为了简化问题,而不是真正的用例。
我看到它不起作用,我道歉。
我对您的回答的理解是,在这种情况下,我有多个队列需要回退队列(从业务角度)。我可以走两条路:

  • 实现一个逻辑,该逻辑将基于内容,能够假定原始队列
  • 每个队列使用BO队列

  • 是否正确?

    如果消息到达DLQ,则会在其前面添加一个死信头。DLH包含退出原因和原始队列。但是,退回到用户定义队列的消息没有这样的头。其思想是,它们应该能够在不需要任何转换的情况下以其原始格式重新获得

    然而,在使用一个公共回退队列和为每个应用程序队列创建回退队列之间存在一个中间点。首先,回复队列通常不需要回退队列。服务端点队列和点对点接口的队列通常需要一个回退队列,但这些队列通常是基于每个应用程序而不是每个队列进行的。例如,在5个不同的端点队列上提供服务的应用程序可能有一个用于这5个端点队列的公共回退队列。然后可以查看消息的内容,以确定它来自5个端点队列中的哪一个

    此方法还解决了来自多个不同应用程序的消息最终出现在DLQ或同一回退队列中的问题。在这种情况下,存在一个问题,即应该允许哪些数据所有者重新查询消息,因为一个数据所有者可能会意外(或有意)影响另一个数据所有者的消息

    因此,您不必为每个输入队列提供回退队列,而是为共享同一数据所有者的相关队列组提供回退队列,并且可以从上下文了解消息从何处回退

    更新

    根据你的修改,是的。如果多个队列共享一个回退队列,则必须能够分析消息内容,以便重新加入到原始目的地。如果这不可能或不实用,则需要在退出队列和原始队列之间建立1:1的关系。

    请根据您的上述描述查看原始问题中的更改。感谢您的澄清。