You can use Queue to store some information to processed later without involve database. You can read more about IBM WebSphere queue in here
Put Message C# Code
MQQueueManager queueManager;
MQQueue queue;
MQMessage queueMessage;
MQPutMessageOptions queuePutMessageOptions;
MQGetMessageOptions queueGetMessageOptions;
string ChannelInfo;
string channelName;
string transportType;
string connectionName;
//get channel info
char[] separator = { '/' };
string[] ChannelParams;
ChannelInfo = "CHANNEL3/TCP/172.19.37.2";
ChannelParams = ChannelInfo.Split(separator);
channelName = ChannelParams[0];
transportType = ChannelParams[1];
connectionName = ChannelParams[2];
//get queue manager
string queueManagerName = "QMGR3";
string queueName = "TESTQ";
queueManager = new MQQueueManager(queueManagerName, channelName, connectionName);
queue = queueManager.AccessQueue(queueName, MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);
queueMessage = new MQMessage();
queueMessage.WriteString("TEST");
queueMessage.Format = MQC.MQFMT_STRING;
queuePutMessageOptions = new MQPutMessageOptions();
//putting the message into the queue
queue.Put(queueMessage, queuePutMessageOptions);
queue.Close();
MessageBox.Show("Successfully put data into queue");
Get Message C# Code
MQQueueManager queueManager;
MQQueue queue;
MQMessage queueMessage;
MQPutMessageOptions queuePutMessageOptions;
MQGetMessageOptions queueGetMessageOptions;
string ChannelInfo;
string channelName;
string transportType;
string connectionName;
//get channel info
char[] separator = { '/' };
string[] ChannelParams;
ChannelInfo = "CHANNEL3/TCP/172.19.37.2";
ChannelParams = ChannelInfo.Split(separator);
channelName = ChannelParams[0];
transportType = ChannelParams[1];
connectionName = ChannelParams[2];
//get queue manager
string queueManagerName = "QMGR3";
string queueName = "TESTQ";
queueManager = new MQQueueManager(queueManagerName, channelName, connectionName);
queue = queueManager.AccessQueue(queueName, MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_FAIL_IF_QUIESCING);
string str_rtn = string.Empty;
while (true)
{
try
{
queueMessage = new MQMessage();
queueMessage.Format = MQC.MQFMT_STRING;
queueGetMessageOptions = new MQGetMessageOptions();
queue.Get(queueMessage, queueGetMessageOptions);
str_rtn = queueMessage.ReadString(queueMessage.MessageLength);
MessageBox.Show(str_rtn);
break;
}
catch (MQException MQExp)
{
str_rtn = "MQQueue::Get ended with " + MQExp.Message;
MessageBox.Show(str_rtn);
return;
}
}
queue.Close();
Note : You need to include library IBM.WMQ . ( using IBM.WMQ; )
By Mohd Zulkamal
NOTE : – If You have Found this post Helpful, I will appreciate if you can Share it on Facebook, Twitter and Other Social Media Sites. Thanks =)
0 comments:
Post a Comment