コード例 #1
0
    static void Main()
    {
        // load settings from App.config
        string host                    = ConfigurationManager.AppSettings["hostName"];
        string queueManagerName        = ConfigurationManager.AppSettings["queueManagerName"];
        string channel                 = ConfigurationManager.AppSettings["channel"];
        int    port                    = Int32.Parse(ConfigurationManager.AppSettings["port"]);
        int    putSleepTimeMillisecs   = Int32.Parse(ConfigurationManager.AppSettings["putSleepTimeMillisecs"]);
        int    getPollingTimeMillisecs = Int32.Parse(ConfigurationManager.AppSettings["getPollingTimeMillisecs"]);
        int    iterations              = Int32.Parse(ConfigurationManager.AppSettings["iterations"]);

        string[] queuePairNames = new string[8] {
            "queuePair1", "queuePair2", "queuePair3", "queuePair4", "queuePair5", "queuePair6", "queuePair7", "queuePair8"
        };

        List <string> validQueuePairNames = new List <string>();

        foreach (string qpName in queuePairNames)
        {
            string queuePairName = ConfigurationManager.AppSettings[qpName];

            if (!String.IsNullOrEmpty(queuePairName))
            {
                validQueuePairNames.Add(queuePairName);
            }
        }

        List <QueueLoader> queueLoaders = new List <QueueLoader>();

        foreach (string queuePairName in validQueuePairNames)
        {
            string[] queuePair = queuePairName.Split(',');

            QueueLoader ql = new QueueLoader(queuePair[0], queuePair[1], queueManagerName, channel, host, port, putSleepTimeMillisecs, iterations);
            queueLoaders.Add(ql);
            ThreadStart queueLoadJob    = new ThreadStart(ql.Run);
            Thread      queueLoadThread = new Thread(queueLoadJob);
            queueLoadThread.Start();

            QueueUnloader qu                = new QueueUnloader(queuePair[1], queueManagerName, channel, host, port, getPollingTimeMillisecs);
            ThreadStart   queueUnloadJob    = new ThreadStart(qu.Run);
            Thread        queueUnloadThread = new Thread(queueUnloadJob);
            queueUnloadThread.Start();
        }

        Console.WriteLine("\nMaking MQSeries connections...");
        Console.WriteLine(String.Format("  MQ Host: {0}", host));
        Console.WriteLine(String.Format("  Queue Manager: {0}", queueManagerName));
        Console.WriteLine(String.Format("  Channel: {0}", channel));
        Console.WriteLine(String.Format("  Port: {0}\n", port));
        Console.WriteLine("Queues:");
        foreach (string queuePairName in validQueuePairNames)
        {
            Console.WriteLine(String.Format("  {0}", queuePairName));
        }
        Console.WriteLine("-------------------------------------------\n");

        long numMsgs = 0;

        while (numMsgs < (iterations * validQueuePairNames.Count))
        {
            numMsgs = 0;

            foreach (QueueLoader ql in queueLoaders)
            {
                numMsgs += ql.NumMsgs;
            }

            Console.WriteLine("Messages: {0}", numMsgs);

            Thread.Sleep(500);
        }
    }
コード例 #2
0
    static void Main()
    {
        // load settings from App.config
        string host = ConfigurationManager.AppSettings["hostName"];
        string queueManagerName = ConfigurationManager.AppSettings["queueManagerName"];
        string channel = ConfigurationManager.AppSettings["channel"];
        int port = Int32.Parse(ConfigurationManager.AppSettings["port"]);
        int putSleepTimeMillisecs = Int32.Parse(ConfigurationManager.AppSettings["putSleepTimeMillisecs"]);
        int getPollingTimeMillisecs = Int32.Parse(ConfigurationManager.AppSettings["getPollingTimeMillisecs"]);
        int iterations = Int32.Parse(ConfigurationManager.AppSettings["iterations"]);

        string[] queuePairNames = new string[8] { "queuePair1", "queuePair2", "queuePair3", "queuePair4", "queuePair5", "queuePair6", "queuePair7", "queuePair8" };

        List<string> validQueuePairNames = new List<string>();

        foreach (string qpName in queuePairNames)
        {
            string queuePairName = ConfigurationManager.AppSettings[qpName];

            if (!String.IsNullOrEmpty(queuePairName))
            {
                validQueuePairNames.Add(queuePairName);
            }
        }

        List<QueueLoader> queueLoaders = new List<QueueLoader>();

        foreach (string queuePairName in validQueuePairNames)
        {
            string[] queuePair = queuePairName.Split(',');

            QueueLoader ql = new QueueLoader(queuePair[0], queuePair[1], queueManagerName, channel, host, port, putSleepTimeMillisecs, iterations);
            queueLoaders.Add(ql);
            ThreadStart queueLoadJob = new ThreadStart(ql.Run);
            Thread queueLoadThread = new Thread(queueLoadJob);
            queueLoadThread.Start();

            QueueUnloader qu = new QueueUnloader(queuePair[1], queueManagerName, channel, host, port, getPollingTimeMillisecs);
            ThreadStart queueUnloadJob = new ThreadStart(qu.Run);
            Thread queueUnloadThread = new Thread(queueUnloadJob);
            queueUnloadThread.Start();
        }

        Console.WriteLine("\nMaking MQSeries connections...");
        Console.WriteLine(String.Format("  MQ Host: {0}", host));
        Console.WriteLine(String.Format("  Queue Manager: {0}", queueManagerName));
        Console.WriteLine(String.Format("  Channel: {0}", channel));
        Console.WriteLine(String.Format("  Port: {0}\n", port));
        Console.WriteLine("Queues:");
        foreach (string queuePairName in validQueuePairNames)
        {
            Console.WriteLine(String.Format("  {0}", queuePairName));
        }
        Console.WriteLine("-------------------------------------------\n");

        long numMsgs = 0;

        while (numMsgs < (iterations * validQueuePairNames.Count))
        {
            numMsgs = 0;

            foreach (QueueLoader ql in queueLoaders)
            {
                numMsgs += ql.NumMsgs;
            }

            Console.WriteLine("Messages: {0}", numMsgs);

            Thread.Sleep(500);
        }
    }