internal csQueueSender(string[] args) { ParseArgs(args); #if _NET_20 try { tibemsUtilities.initSSLParams(serverUrl, args); } catch (Exception e) { System.Console.WriteLine("Exception: " + e.Message); System.Console.WriteLine(e.StackTrace); System.Environment.Exit(-1); } #endif if (data.Count == 0) { Console.Error.WriteLine("Error: must specify at least one message text"); usage(); } Console.WriteLine("\n------------------------------------------------------------------------"); Console.WriteLine("csQueueSender SAMPLE"); Console.WriteLine("------------------------------------------------------------------------"); Console.WriteLine("Server....................... " + ((serverUrl != null)?serverUrl:"localhost")); Console.WriteLine("User......................... " + ((userName != null)?userName:"******")); Console.WriteLine("Queue........................ " + queueName); Console.WriteLine("------------------------------------------------------------------------\n"); try { QueueConnectionFactory factory = new TIBCO.EMS.QueueConnectionFactory(serverUrl); QueueConnection connection = factory.CreateQueueConnection(userName, password); QueueSession session = connection.CreateQueueSession(false, Session.AUTO_ACKNOWLEDGE); /* * Use createQueue() to enable sending into dynamic queues. */ TIBCO.EMS.Queue queue = session.CreateQueue(queueName); QueueSender sender = session.CreateSender(queue); /* publish messages */ for (int i = 0; i < data.Count; i++) { TextMessage message = session.CreateTextMessage(); string text = (string)data[i]; message.Text = text; sender.Send(message); Console.WriteLine("Sent message: " + text); } connection.Close(); } catch (EMSException e) { Console.Error.WriteLine(e.StackTrace); Environment.Exit(0); } }
static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("\n The Message Producing Pattern has to be either FF or RR\n" + " Usage:" + Process.GetCurrentProcess().ProcessName + " FF(or RR) CorrelationID"); Environment.Exit(-1); } try { QueueSession session = Messaging.EMS.Connection.EMSQueueConnection.connection.CreateQueueSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.CreateQueue(System.Configuration.ConfigurationManager.AppSettings["QueueName"]); Process CurrentProcess = Process.GetCurrentProcess(); String MainThreadName = Environment.MachineName + "_" + CurrentProcess.ProcessName + "_" + CurrentProcess.Id; Thread.CurrentThread.Name = MainThreadName; msg = (TextMessage)session.CreateTextMessage("hellothere-"); string Text = "\n\n MachineName : " + Environment.MachineName + "\n SendingProcessName : " + Process.GetCurrentProcess().ProcessName + "\n SendingProcessId : " + Process.GetCurrentProcess().Id + "\n Method : " + System.Reflection.MethodBase.GetCurrentMethod().Name + "\n ThreadName:\"" + Thread.CurrentThread.Name + "\"" + "\n ClientId: " + Messaging.EMS.Connection.EMSQueueConnection.connection.ClientID; string seperator = "\n\n*****************************************************************************************\n"; msg.Text += Text; try { msg.CorrelationID = (args[1]); } /*Absorb this AOOB exception :) */ catch (Exception e) { }; switch (args[0]) { case "FF": Console.WriteLine(seperator + "About to Fire (and Forget ) :\n\n" + msg.ToString()); Messaging.EMS.Producers.Messageproducer.SendMessage(msg, queue); break; case "RR": Console.WriteLine(seperator + "About to send request:\n\n" + msg.ToString()); Message reply = Messaging.EMS.Producers.Messageproducer.SendRequestAndReceiveReply(msg, queue); if (reply is TextMessage) { Console.WriteLine(seperator + "Received Response:\n\n" + reply.ToString()); } break; default: Console.WriteLine("The Message Producing Pattern has to be either FF or RR "); Environment.Exit(-1); break; } // Messaging.EMS.Producers.Messageproducer.SendMessage(msg, queue); } catch (Exception e) { Console.WriteLine("\n\n*********Exception thrown:\n" + "\n\n***********" + e.StackTrace + e.ToString()); } }