限制读取的消息队列
Message queue with restriction on read
我有以下任务,涉及 ibm 消息队列:
存在一个从输入队列 Q1 获取消息并将消息放入 Q2 的应用程序(JMS 客户端)。有几个应用程序客户端将消息放入 Q1。客户端为每条消息指定关联 ID。应用程序从 Q1 收到的消息中检索 id,创建新的输出消息,添加检索到的 id 并将消息放入 Q2。然后每个客户端根据关联 ID 仅检索自己的消息。
我的问题是:
如果客户端没有指定任何id,他会从队列中读取所有消息。我想要一个限制,在没有指定相关 ID 时禁止读取队列。
是否可以仅使用 ibm 消息队列来完成?
如果没有其他建议。
您是否考虑过使用临时队列作为回复队列(Q2)?在这种模式下,每个应用程序都会创建一个临时队列供自己使用。所有应用程序放入 Q1 并将 MQMD 中的 ReplyToQ 设置为其临时队列的名称。
Q1 上处理消息的应用程序将响应放入指定的 ReplyToQ,而不是将它们全部放入具有给定相关 ID 的 Q2。
这种情况应该可以避免错误的应用程序意外地使用不适合它们的队列中的消息。
我有以下任务,涉及 ibm 消息队列:
存在一个从输入队列 Q1 获取消息并将消息放入 Q2 的应用程序(JMS 客户端)。有几个应用程序客户端将消息放入 Q1。客户端为每条消息指定关联 ID。应用程序从 Q1 收到的消息中检索 id,创建新的输出消息,添加检索到的 id 并将消息放入 Q2。然后每个客户端根据关联 ID 仅检索自己的消息。
我的问题是:
如果客户端没有指定任何id,他会从队列中读取所有消息。我想要一个限制,在没有指定相关 ID 时禁止读取队列。
是否可以仅使用 ibm 消息队列来完成? 如果没有其他建议。
您是否考虑过使用临时队列作为回复队列(Q2)?在这种模式下,每个应用程序都会创建一个临时队列供自己使用。所有应用程序放入 Q1 并将 MQMD 中的 ReplyToQ 设置为其临时队列的名称。
Q1 上处理消息的应用程序将响应放入指定的 ReplyToQ,而不是将它们全部放入具有给定相关 ID 的 Q2。
这种情况应该可以避免错误的应用程序意外地使用不适合它们的队列中的消息。