private void frmTestForm_Load(object sender, EventArgs e)
 {
     DbMessenger messenger = DbMessenger.SingleOrDefault(m => m.Name.ToLower() == "messagingtoolkit".ToLower());
     if (messenger != null)
     {
         DatabasePoller poller = new DatabasePoller(messenger, null);
         poller.Name = messenger.Name;
         Thread worker = new Thread(new ThreadStart(poller.StartTimer));
         worker.IsBackground = true;
         worker.Name = messenger.Name;               
         worker.Start();               
     }
 }
        /// <summary>
        /// Starts the messenger.
        /// </summary>
        /// <param name="action">The action.</param>
        private EventResponse StartMessenger(EventAction action)
        {
            string name = action.Values[EventParameter.MessengerName];
            log.InfoFormat("Starting messenger. Name is [{0}]", name);
            EventResponse response = new EventResponse();
            DbMessenger messenger = DbMessenger.SingleOrDefault(m =>m.Name.ToLower() == name.ToLower());
            if (messenger != null)
            {
                // Start to poll incoming message
                if (workerThreads == null) workerThreads = new List<Thread>(1);
                if (pollers == null) pollers = new List<BasePoller>(1);

                // Check if the poller is already started
                if (pollers.Exists(p => p.Name.ToLower() == messenger.Name.ToLower()))
                {
                    log.InfoFormat("Database messenger [{0}] is already started", messenger.Name);
                    return response;
                }

                DatabasePoller poller = new DatabasePoller(messenger, this.messageGatewayService);
                poller.Name = messenger.Name;
                pollers.Add(poller);

                Thread worker = new Thread(new ThreadStart(poller.StartTimer));
                worker.IsBackground = true;
                worker.Name = messenger.Name;
                workerThreads.Add(worker);
                worker.Start();

                log.InfoFormat("Messenger [{0}] is started", name);
            }
            return response;
        }