Source Viewer:  SetupQueues.cs

Font Size:
SetupQueues.cs 
.. 

// SetupQueues.cs // // This little utility app creates queues for the tests, // using the PCF APIs for MQ. // // see notes for prep. // // Thu, 30 Jun 2005 14:39 // using System; using IBM.WMQ; using IBM.WMQ.PCF; namespace TxSample { class SetupQueues { SampleAppConfig c= null; public SetupQueues() { c= SampleAppConfig.Load(); } [MTAThread] static void Main(string[] args) { SetupQueues me= new SetupQueues(); me.Go(); } public void Go() { // create MQ Queue try { Console.WriteLine("\nMQ queue: '{0}'", c.MQ_QueueName); if (MqQueueExists(c.MQ_QueueName)) Console.WriteLine(" Exists."); else { MqCreateQueue(c.MQ_QueueName); Console.WriteLine(" Created."); } } catch (MQException ex1) { if ((ex1.CompletionCode == 2) && (ex1.ReasonCode == MQC.MQRCCF_OBJECT_ALREADY_EXISTS)) { Console.WriteLine(" That queue already exists.\n"); } else Console.WriteLine("Cannot create MQ queue: " + ex1); } catch (Exception ex2) { Console.WriteLine("Cannot create MQ queue: " + ex2); } } private bool MqQueueExists(string queuename) { PCFMessageAgent agent = new PCFMessageAgent(c.MQ_QueueManager); PCFMessage request= new PCFMessage(CMQCFC.MQCMD_INQUIRE_Q_NAMES); request.AddParameter (MQC.MQCA_Q_NAME, queuename); request.AddParameter (MQC.MQIA_Q_TYPE, MQC.MQQT_LOCAL); PCFMessage[] responses = agent.Send(request); if (responses==null) throw new Exception("bogus response from MQ PCF."); bool exists= (responses.Length!=1) || (responses[0].GetCompCode()!=0); return exists; } private void MqCreateQueue(string queuename) { PCFMessageAgent agent = new PCFMessageAgent(c.MQ_QueueManager); PCFMessage request= new PCFMessage(CMQCFC.MQCMD_CREATE_Q); request.AddParameter (MQC.MQCA_Q_NAME, queuename); request.AddParameter (MQC.MQIA_Q_TYPE, MQC.MQQT_LOCAL); request.AddParameter(MQC.MQCA_Q_DESC, "created by MQ.Create.exe on " + System.DateTime.Now.ToString("u")); PCFMessage[] responses = agent.Send(request); } } }

The srcview page has been enjoyed 290315 times since 18 September 2003