IBM MQSeries问题:远程主机在写入消息时关闭连接(错误10054)

时间:2010-02-09 09:17:10

标签: c# ibm-mq

我正在尝试使用以下命令写入IBM MQSeries主机:

public void WriteMessage(string message)
{
    queueMessage = new MQMessage();
    queueMessage.WriteString(message);
    queueMessage.Format = MQC.MQFMT_STRING;
    queuePutMessageOptions = new MQPutMessageOptions();

    queue.Put(queueMessage, queuePutMessageOptions);
}

我的错误补丁却给了我一个错误:

  

应用程序出错

当然没有太多表现。所以我检查了服务器上的事件日志,这显示了错误:

  

从中接收数据时发生错误   stx041774(192.168.225.51)结束   TCP / IP。这可能是由于a   通讯失败。

The return code from the TCP/IP (recv) call was 10054 (X'2746').
     

记录这些值并告诉   系统管理员。

我抬头看了10054,意思是:

  

强行建立现有连接   由远程主机关闭。

有谁知道我能做些什么来使这项工作?是否有一个我必须设置写入的MQC选项?因为我不知道如何处理选项,我甚至不确定这是否是问题。

1 个答案:

答案 0 :(得分:3)

我用选项mqc.mqoo_output解决了这个问题:

queue = qManager.AccessQueue(QueueName, MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);