public async Task DequeueTest() { // define IQueueConsumer consumer = new AzureSBTopicConsumer(new LoggerFactory(), _configuration, new DefaultJsonSerializer(), "subscriber"); // dequeue // TODO AutoResetEvent _autoResetEvent = new AutoResetEvent(false); QMessage recievedMsg = null; QProperties oProperties = null; consumer.MessageRecieved += (m, o) => { consumer.Unsubscribe(); recievedMsg = o; oProperties = o.Properties; _autoResetEvent.Set(); }; consumer.Subscribe(); Assert.True(_autoResetEvent.WaitOne(3000)); Assert.NotNull(recievedMsg); }
public IQueueItem AddQueue(QProperties prop, out MQueue mq) { if (MQ.ContainsKey(prop.QueueName)) { //if (prop.ReloadOnStart) //{ // MQueue q = new MQueue(prop); // MQ[prop.QueueName] = q; // mq = q; //} //else //{ // mq = MQ[prop.QueueName]; //} mq = MQ[prop.QueueName]; return(QueueItem.Ack(MessageState.AllreadyExists, QueueCmd.AddQueue, "AllreadyExists, Name: " + prop.QueueName, null)); } //if (prop.IsDbQueue) //{ // AddDbQueue(prop.QueueName, prop.IsTrans); //} MQueue queue = new MQueue(prop); //LoadQueue(queue, prop); MQ[prop.QueueName] = queue; mq = queue; Logger.Info("AddQueue : {0}", prop.Print()); //return MessageState.Ok; return(QueueItem.Ack(MessageState.Ok, QueueCmd.AddQueue)); }
public MessageState AddQueue(QProperties prop, out MQueue mq) { if (MQ.ContainsKey(prop.QueueName)) { if (prop.ReloadOnStart) { MQueue q = new MQueue(prop); MQ[prop.QueueName] = q; mq = q; } else { mq = MQ[prop.QueueName]; } return(MessageState.AllreadyExists); } //if (prop.IsDbQueue) //{ // AddDbQueue(prop.QueueName, prop.IsTrans); //} MQueue queue = new MQueue(prop); MQ[prop.QueueName] = queue; mq = queue; Netlog.InfoFormat("AddQueue : {0}", prop.Print()); return(MessageState.Ok); }
void LoadJournalQueue() { if (JournalQueue != null) { return; } var journalProp = new QProperties("journal", false, CoverMode.Memory); journalProp.ReloadOnStart = true; JournalQueue = new PriorityPersistQueue(journalProp); }
public TopicDispatcher(QueueController controller) { Controller = controller; Initialized = false; SendDirect = true; var topicProp = new QProperties("TopicEvent", false, CoverMode.Memory); EventQueue = new PriorityPersistQueue(topicProp); Logger = QLogger.Logger.ILog; //m_Topic = new Topics(); }
public IQueueItem AddQueue(QProperties qp) { var message = new QueueRequest() { Host = _QueueName, QCommand = QueueCmd.AddQueue, }; message.SetBody(qp.GetEntityStream(false), qp.GetType().FullName); var response = ConsumItem(message, ConnectTimeout); return(response);// == null ? null : response.ToMessage(); }
private void CreateItem() { m_QueueItem = new QProperties(this.txtKey.Text); //m_QueueItem.ConnectionString = this.txtConnection.Text; m_QueueItem.Mode = CoverMode; //m_QueueItem.Server = 0; //m_QueueItem.Provider = (QueueProvider)this.cbProvider.SelectedIndex; AgentManager.Queue.AddQueue(m_QueueItem); Close(); }
public void RabbitMq_Subscribe() { var publisherSettings = GetConfig("publisherFanout"); var consumerSettings = GetConfig("subscriberFanout"); // check if config exists Assert.NotNull(publisherSettings); Assert.NotNull(consumerSettings); IQueue cQueue = new RbmqQueue(new NullLoggerFactory(), consumerSettings, false); IQueue pQueue = new RbmqQueue(new NullLoggerFactory(), publisherSettings, true); cQueue.Clear(); pQueue.Clear(); var message = new QMessage() { Body = "test", Properties = new QProperties() { ReplyTo = "test" } }; pQueue.Enqueue(message); QProperties oProperties = null;// = o.Properties; string replyTo = string.Empty; AutoResetEvent _autoResetEvent = new AutoResetEvent(false); QMessage recievedMsg = null; cQueue.MessageRecieved += (m, o) => { cQueue.Unsubscribe(); recievedMsg = o; oProperties = o.Properties; replyTo = o.Properties.ReplyTo; _autoResetEvent.Set(); }; cQueue.Subscribe(); Assert.True(_autoResetEvent.WaitOne(3000)); Assert.NotNull(recievedMsg); //Assert.That(oProperties, Is.Not.Null); //Assert.That(replyTo, Is.EqualTo("test")); }
internal NetStream ExecRequset(QueueMessage request) { switch (request.Command) { case QueueCmd.Abort: break; case QueueCmd.AddQueue: MQueue mq = null; return(QueueMessage.DoAck(AddQueue(QProperties.Get(request.Headers), out mq), null)); case QueueCmd.Commit: break; case QueueCmd.Dequeue: case QueueCmd.DequeueItem: case QueueCmd.DequeuePriority: case QueueCmd.Peek: case QueueCmd.PeekItem: case QueueCmd.PeekPriority: return(QueueMessage.DoResponse(ExecGet(request))); case QueueCmd.Enqueue: return(QueueMessage.DoAck(ExecSet(request), null)); case QueueCmd.Exists: return(QueueMessage.DoAck(Exists(request.Host), null)); case QueueCmd.QueueProperty: break; case QueueCmd.RemoveQueue: return(QueueMessage.DoAck(RemoveQueue(request.Host), null)); //case QueueCmd.ReportQueueItems: // GetQueueItems(message.GetHostName()); // break; //case QueueCmd.ReportQueueItemsTable: // GetQueueItemsTable(message.GetHostName()); // break; case QueueCmd.ReportQueueList: GetQueueList(); break; } return(null); }
public IQueueItem AddQueue(CoverMode mode, bool isTrans, bool isTopic) { QProperties qp = new QProperties() { QueueName = _QueueName, ServerPath = "localhost", Mode = mode, IsTrans = isTrans, MaxRetry = QueueDefaults.DefaultMaxRetry, ReloadOnStart = false, ConnectTimeout = 0, TargetPath = "", IsTopic = isTopic }; return(AddQueue(qp)); //var message = new QueueItem() //{ // Host = _QueueName, // Command = QueueCmd.AddQueue, //}; //message.SetBody(qp.GetEntityStream(false), qp.GetType()); //GenericNameValue header = new GenericNameValue(); //header.Add("QueueName", _QueueName); //header.Add("ServerPath", "localhost"); //header.Add("Mode", (int)mode); //header.Add("IsTrans", isTrans); //header.Add("MaxRetry", QueueDefaults.DefaultMaxRetry); //header.Add("ReloadOnStart", false); //message.SetHeader(header); //message.SetBody(qp); //var response=base.SendDuplex(message); //return response;// == null ? null : response.ToMessage(); //ReportApi client = new ReportApi(QueueDefaults.QueueManagerPipeName, true); //var res= client.Exec(message, QueueCmd.AddQueue); //return (Message)res;// client.Exec(message, QueueCmd.AddQueue); }
public void LoadQueueConfig() { var config = QueueServerConfig.GetConfig(); var items = config.RemoteQueueSettings; foreach (QueueServerConfigItem item in items) { var prop = new QProperties(item.QueueName, item.IsTrans, (CoverMode)item.CoverMode); AddQueue(prop); QLog.Info("Queue Added: {0}", prop.Print()); } //if (!QueueLoaded) //{ // System.Configuration.Configuration config = //ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); // XmlDocument doc = new XmlDocument(); // doc.Load(config.FilePath); // Console.WriteLine("Load Config: " + config.FilePath); // XmlNode root = doc.SelectSingleNode("//remoteSettings"); // XmlNodeList list = root.ChildNodes; // for (int i = 0; i < list.Count; i++) // { // //n.FirstChild.ChildNodes[1].InnerText // McQueueProperties prop = // new McQueueProperties(list[i]); // //prop.ConnectionString = ConnectionString; // //prop.Provider = Provider; // Console.WriteLine("Load: " + prop.QueueName); // RemoteQueueManager.AddQueue(prop); // } // QueueLoaded = true; //} }
/// <summary>Creates Message Queuing queue by specified properties.</summary> /// <param name="prop">The queue properties. </param> /// <returns>A <see cref="T:Nistec.Messaging.MQueue"></see> that represents the new queue.</returns> public MQueue AddQueue(QProperties prop) { //prop.IsValid(lockKey); if (MQ.ContainsKey(prop.QueueName)) { if (prop.ReloadOnStart) { MQueue q = new MQueue(prop); MQ[prop.QueueName] = q; return(q); } return((MQueue)MQ[prop.QueueName]); } //if (prop.IsDbQueue) //{ // AddDbQueue(prop.QueueName, prop.IsTrans); //} MQueue queue = new MQueue(prop); MQ[prop.QueueName] = queue; return(queue); }