c# ibm mq 消息队列满
用C#从IBMMQ消息队列里取消息,当消息队列满的时候,取不出来数据,这个需要怎么解决?有取出消息的现成代码么?我的代码如下:publicstringGetMessage...
用C#从IBM MQ消息队列里取消息,当消息队列满的时候,取不出来数据,这个需要怎么解决?有取出消息的现成代码么?我的代码如下:
public string GetMessage()
{
string messageStr="";
this.mManager = new MQQueueManager("WNMS4_QM", "CH1", "10.184.141.181(1414)");
var mqQueue = mManager.AccessQueue("GIS_ALARM_ORIGINAL.Q", MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING);
//接收消息
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.Options = MQC.MQGMO_WAIT;
gmo.WaitInterval = 10000;
gmo.MatchOptions = MQC.MQMO_NONE;
MQMessage mqMessage = new MQMessage();
try
{
mqQueue.Get(mqMessage, gmo);
}
catch (Exception ex)
{
//Console.WriteLine(ex.ToString());
}
if (mqMessage.MessageLength > 0)
{
//结果
messageStr = mqMessage.ReadString(mqMessage.MessageLength);
//当消息队列满的时候,这里取不出来数据
}
return messageStr;
} 展开
public string GetMessage()
{
string messageStr="";
this.mManager = new MQQueueManager("WNMS4_QM", "CH1", "10.184.141.181(1414)");
var mqQueue = mManager.AccessQueue("GIS_ALARM_ORIGINAL.Q", MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING);
//接收消息
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.Options = MQC.MQGMO_WAIT;
gmo.WaitInterval = 10000;
gmo.MatchOptions = MQC.MQMO_NONE;
MQMessage mqMessage = new MQMessage();
try
{
mqQueue.Get(mqMessage, gmo);
}
catch (Exception ex)
{
//Console.WriteLine(ex.ToString());
}
if (mqMessage.MessageLength > 0)
{
//结果
messageStr = mqMessage.ReadString(mqMessage.MessageLength);
//当消息队列满的时候,这里取不出来数据
}
return messageStr;
} 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
虽然没用过但感觉你的写法很奇怪,查了一下,见http://www.cnblogs.com/janus1999/archive/2006/09/11/501133.html
追问
就是按照他这样写的。。。只是我多了个参数而已,,删除了一样的。。。是读取消息,,,
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询