示例#1
0
        public void StartMqDomain(MQProperties mQProperties, string Queue, int miliseconds = 100)
        {
            log.LogInformation("Starting Domian model for MQ");
            try
            {
                mDomain = new MDomainModel(mQProperties);
            }
            catch (Exception ex)
            {
                log.LogCritical("Domain model critical in MQ constuctor", ex);
            }

            log.LogInformation("Set up queue");

            mDomain.MqMessageEvent += MDomain_MqMessageEvent;
            mDomain.SetUpQueue(Queue, miliseconds);
        }
示例#2
0
        public static void MqOption(MqOptionEnum mqopt, MQProperties prop, string queueName)
        {
            using (MDomainModel domainModel = new MDomainModel(prop))
            {
                if (mqopt == MqOptionEnum.Count)
                {
                    int i = 0;

                    System.Console.Write($"In Main Queue : {i} messages");
                    System.Console.CursorLeft = 0;

                    foreach (string s in domainModel.ReadYieldMessages(queueName))
                    {
                        i++;
                        System.Console.Write($"In Main Queue : {i} messages");
                        System.Console.CursorLeft = 0;
                    }
                    System.Console.WriteLine();
                    System.Console.WriteLine("Done");
                }

                if (mqopt == MqOptionEnum.GetAllAndClean)
                {
                    int i = 0;
                    foreach (string s in domainModel.GetYieldMessages(queueName))
                    {
                        i++;
                        System.Console.WriteLine($"Message : {s}");
                    }
                    System.Console.WriteLine($"In Main Queue : {i} messages");
                }

                if (mqopt == MqOptionEnum.OnlyRead)
                {
                    int i = 0;
                    foreach (string s in domainModel.ReadYieldMessages(queueName))
                    {
                        i++;
                        System.Console.WriteLine($"Message : {s}");
                    }

                    System.Console.WriteLine($"In Main Queue : {i} messages");
                }
            }
        }
示例#3
0
        //public delegate void MqEvenenDelegate(object sender,string message);
        //public event MqEvenenDelegate MqMessageEvent;

        //private IQProperties qProperties;
        //private TimerCallback GetMessagesFromQueueCallBack;
        // private Timer timerGetMessagesFromQueue;


        public MClient(MQProperties qProperties)
        {
            try
            {
                Hashtable queueProp = qProperties.GetQueueConnectionProperties();
                queueManager = new MQQueueManager(qProperties.QueueManagerName, queueProp);

                //GetMessagesFromQueueCallBack = new TimerCallback(GetMessagesFromQueue);
            }
            catch (MQException mqexp)
            {
                log.LogError(mqexp.Message);
            }
            catch (Exception ex)
            {
                log.LogError(ex.Message);
            }
        }
示例#4
0
 public MDomainModel(MQProperties qProperties)
 {
     mClient = new MClient(qProperties);
 }