安裝 IBM WebSphere MQ 5.3 CSD05 後,會在 bin 目錄產生 amqmdnet.dll。將其加入專案參考,即可使用 IBM.WMQ 命名空間下的類別操作佇列管理器、佇列與訊息。
var agent = new PCFMessageAgent("QM_janus");
var request = new PCFMessage(CMQCFC.MQCMD_CREATE_Q);
request.AddParameter(MQC.MQCA_Q_NAME, "test_queue");
request.AddParameter(MQC.MQIA_Q_TYPE, MQC.MQQT_LOCAL);
var response = agent.Send(request);
var agent = new PCFMessageAgent("QM_janus");
var request = new PCFMessage(CMQCFC.MQCMD_DELETE_Q);
request.AddParameter(MQC.MQCA_Q_NAME, "test_queue");
var response = agent.Send(request);
var qMgr = new MQQueueManager("QM_janus");
var queue = qMgr.AccessQueue("postcard", MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING);
var gmo = new MQGetMessageOptions
{
Options = MQC.MQGMO_WAIT,
WaitInterval = 1000,
MatchOptions = MQC.MQMO_NONE
};
var message = new MQMessage();
queue.Get(message, gmo);
// 讀取 message 内容...
var qMgr = new MQQueueManager("QM_janus");
var queue = qMgr.AccessQueue("postcard", MQC.MQOO_OUTPUT);
var message = new MQMessage();
message.WriteString("message body");
queue.Put(message);
var agent = new PCFMessageAgent("QM_janus");
var request = new PCFMessage(CMQCFC.MQCMD_INQUIRE_Q_NAMES);
request.AddParameter(MQC.MQCA_Q_NAME, "*");
var response = agent.Send(request);
var names = response[0].GetStringListParameterValue(CMQCFC.MQCACF_Q_NAMES);
PCFMessageAgent 發送,屬於可程式化命令格式(PCF)介面,適合管理操作。Dispose)。