//public MessageQueue Retries { get; set; } //public MessageQueue Timeouts { get; set; } //public MessageQueue TimeoutsDispatcher { get; set; } public MsmqMessageQueue4(string serverName, Queue queue) : base(serverName, queue) { //Retries = Msmq.Create(serverName, queue.Name + ".retries", QueueAccessMode.ReceiveAndAdmin); //Timeouts = Msmq.Create(serverName, queue.Name + ".timeouts", QueueAccessMode.ReceiveAndAdmin); //TimeoutsDispatcher = Msmq.Create(serverName, queue.Name + ".timeoutssispatcher", QueueAccessMode.ReceiveAndAdmin); }
public virtual void Initialize(string serverName, Queue[] monitorQueues, SbmqmMonitorState monitorState) { _serverName = serverName; MonitorQueues = monitorQueues; _monitorState = monitorState; }
public void Initialize(Dictionary<string, object> connectionSettings, Queue[] monitorQueues, SbmqmMonitorState monitorState) { _connectionSettings = connectionSettings; MonitorQueues = monitorQueues; _monitorState = monitorState; LoadQueues(); }
public AzureMessageQueue(string connectionString, Queue queue, bool deadLetter = false) { _connectionStr = connectionString; IsDeadLetterQueue = deadLetter; Queue = !deadLetter ? queue : new Model.Queue(queue.Name, QueueType.Error, 0xFF0000, queue.ContentFormat); var name = !deadLetter ? queue.Name : QueueClient.FormatDeadLetterPath(queue.Name); Main = QueueClient.CreateFromConnectionString(connectionString, name, ReceiveMode.ReceiveAndDelete); }
public MsmqMessageQueue(string serverName, Queue queue) { Queue = queue; Main = Msmq.Create(serverName, queue.Name, QueueAccessMode.ReceiveAndAdmin); _mainContent = Msmq.Create(serverName, queue.Name, QueueAccessMode.ReceiveAndAdmin); _mainContent.MessageReadPropertyFilter.ClearAll(); _mainContent.MessageReadPropertyFilter.Body = true; if( Main.UseJournalQueue ) { // Error when trying to use FormatName, strange as it should work according to MSDN. Temp solution for now. Journal = new MessageQueue(string.Format(@"{0}\Private$\{1};JOURNAL", serverName, queue.Name)); _journalContent = new MessageQueue(string.Format(@"{0}\Private$\{1};JOURNAL", serverName, queue.Name)); _journalContent.MessageReadPropertyFilter.ClearAll(); _journalContent.MessageReadPropertyFilter.Body = true; } }
//public QueueClient Journal { get; set; } //public bool UseJournalQueue { get { return Main.UseJournalQueue; } } //public bool CanReadJournalQueue { get { return Main.UseJournalQueue && Journal.CanRead; } } public AzureMessageQueue(string connectionString, Queue queue) { _connectionStr = connectionString; Queue = queue; Main = QueueClient.CreateFromConnectionString(connectionString, queue.Name); //Main = Msmq.Create(connectionString, queue.Name, QueueAccessMode.ReceiveAndAdmin); //_mainContent = Msmq.Create(connectionString, queue.Name, QueueAccessMode.ReceiveAndAdmin); //_mainContent.MessageReadPropertyFilter.ClearAll(); //_mainContent.MessageReadPropertyFilter.Body = true; //if( Main.UseJournalQueue ) { // Error when trying to use FormatName, strange as it should work according to MSDN. Temp solution for now. // Journal = new MessageQueue(string.Format(@"{0}\Private$\{1};JOURNAL", connectionString, queue.Name)); // _journalContent = new MessageQueue(string.Format(@"{0}\Private$\{1};JOURNAL", connectionString, queue.Name)); // _journalContent.MessageReadPropertyFilter.ClearAll(); // _journalContent.MessageReadPropertyFilter.Body = true; //} }
private QueueItem CreateQueueItem(Queue queue, Message msg) { var itm = new QueueItem(queue); itm.DisplayName = msg.Label; itm.Id = msg.Id; itm.ArrivedTime = msg.ArrivedTime; //itm.Content = ReadMessageStream(msg.BodyStream); itm.Headers = new Dictionary<string, string>(); if (msg.Extension.Length > 0) { var stream = new MemoryStream(msg.Extension); var transportMessageHeaders = TransportMessageHeaders.Create(stream.ToArray()); //var o = headerSerializer.Deserialize(stream); var contentType = transportMessageHeaders["Content-Type"]; var originalMessageId = transportMessageHeaders["Original-Message-Id"]; if (contentType != null) itm.Headers.Add("Content-Type", contentType); if (originalMessageId != null) itm.Headers.Add("Original-Message-Id", originalMessageId); } return itm; }
private bool TryAddItem(Message msg, Queue q) { lock (_peekItemsLock) { if (!_peekedItems.Any(i => i.Id == msg.Id)) { var itm = CreateQueueItem(q, msg); if (PrepareQueueItemForAdd(itm)) _peekedItems.Add(itm); return true; } else return false; } }
private void AddMsmqQueue(string serverName, Queue queue) { try { _monitorMsmqQueues.Add(new MsmqMessageQueue(serverName, queue)); } catch (Exception e) { OnError("Error occured when loading queue: '{0}\\{1}'\n\r".With(serverName, queue.Name), e, false); } }
public override void Initialize(string serverName, Queue[] monitorQueues, SbmqmMonitorState monitorState) { base.Initialize(serverName, monitorQueues, monitorState); }
private QueueItem CreateQueueItem(Queue queue, Message msg) { var itm = new QueueItem(queue); itm.DisplayName = msg.Label; itm.Id = msg.Id; itm.ArrivedTime = msg.ArrivedTime; //itm.Content = ReadMessageStream(msg.BodyStream); itm.Headers = new Dictionary<string, string>(); if( msg.Extension.Length > 0 ) { var stream = new MemoryStream(msg.Extension); var o = headerSerializer.Deserialize(stream); foreach( var pair in o as List<HeaderInfo> ) if( pair.Key != null ) itm.Headers.Add(pair.Key, pair.Value); } return itm; }
public override void Initialize(string serverName, Queue[] monitorQueues, SbmqmMonitorState monitorState) { base.Initialize(serverName, monitorQueues, monitorState); LoadQueues(); StartPeekThreads(); }
private QueueItem CreateQueueItem(Queue queue, BrokeredMessage msg) { var itm = new QueueItem(queue); itm.DisplayName = msg.Label; itm.MessageQueueItemId = msg.SequenceNumber; itm.Id = msg.SequenceNumber.ToString(); //msg.MessageId; itm.ArrivedTime = msg.EnqueuedTimeUtc; try { itm.Content = ReadMessageStream(new System.IO.MemoryStream(msg.GetBody<byte[]>())); } catch( SerializationException ex ) { itm.Content = "** Failed to get message content, {0} ** \n\n{1}".With(ex.Message, ex.StackTrace); //itm.Error = new QueueItemError() { // Message = ex.Message, // StackTrace = ex.StackTrace, // State = QueueItemErrorState.Retry //}; } //itm.Content = ReadMessageStream(msg.BodyStream); itm.Headers = new Dictionary<string, string>(); if( msg.Properties.Count > 0 ) msg.Properties.ForEach(p => itm.Headers.Add(p.Key, p.Value.ToString())); return itm; }
private static QueueItem CreateQueueItem(Queue queue, BrokeredMessage msg) { var itm = new QueueItem(queue); itm.DisplayName = msg.Label; itm.MessageQueueItemId = msg.SequenceNumber; itm.Id = msg.SequenceNumber.ToString(); //msg.MessageId; itm.ArrivedTime = msg.EnqueuedTimeUtc; itm.Content = ReadMessageStream(new System.IO.MemoryStream(msg.GetBody<byte[]>())); //itm.Content = ReadMessageStream(msg.BodyStream); itm.Headers = new Dictionary<string, string>(); if( msg.Properties.Count > 0 ) msg.Properties.ForEach(p => itm.Headers.Add(p.Key, Convert.ToString(p.Value))); return itm; }
public AzureMessageQueue(string connectionString, Queue queue, bool deadLetter = false) : base(connectionString, queue, deadLetter) { }
public QueueItem(Queue queue) { Queue = queue; }
public virtual void Initialize(Dictionary<string, string> connectionSettings, Queue[] monitorQueues, SbmqmMonitorState monitorState) { _connectionSettings = connectionSettings; MonitorQueues = monitorQueues; _monitorState = monitorState; }