2011-04-07 64 views
0

我有一个具有专用队列的远程机器,服务器将这些消息发送到远程队列。这工作正常。问题在于当远程计算机未连接到网络或关闭时,消息被保存在服务器的传出队列中,并在远程计算机联机时稍后传送。现在我的要求是,如果消息没有传递,服务器应该知道。而在目前的情况下,它不会抛出异常,因为它保存在传出队列中。如何在远程机器未连接时将消息保存在传出队列中而不将消息发送到远程队列?

现在我有三件事情在脑海中。

  1. 传出队列不应该保存消息。
  2. 一些确认应该从远程机器返回。
  3. 我应该通过队列url直接发布消息,因为它承载在IIS下。

我想解决方案3,但没有找到任何资源的话题。

+0

任何未传递的消息将始终停留在传出队列中。这是mq应该如何工作的默认机制。如果你想通知服务器 - 可能是你可以检查消息ID或一些唯一的ID,并检查其在传出队列... – sajoshi 2011-04-07 08:29:29

+0

可以请你提供一些关于如何看待传出队列。 – 2011-04-07 09:23:15

回答

0

看看您的消息设置接收超时并使用死信队列。当远程服务器在指定的超时时间内未读取消息时,消息将被移至死信队列。您可以监视死信队列,以了解远程服务器未收到消息的时间。