//void m_TransDispatcher_SyncCompleted(object sender, SyncItemEventArgs<TransactionItem> e) //{ // //TODO: // //e.Item.SyncExpired(); //} public void LoadTopicConfig() { var config = QueueServerConfig.GetConfig(); var items = config.RemoteQueueSettings; foreach (QueueServerConfigItem item in items) { //var prop = new QProperties(item.QueueName, item.IsTrans, (CoverMode)item.CoverMode); if (item.IsTopic) { var publisher = new TopicPublisher() { TopicId = item.QueueName, TopicName = item.QueueName }; string[] strsubs = item.TargetPath.SplitTrim('|'); foreach (var s in strsubs) { publisher.AddSubscriber(TopicSubscriber.Create(s, item.QueueName)); } var mq = AddQueue(item); QLogger.InfoFormat("Queue Topic Added: {0}", item.Print()); } } }
/// <summary> /// OnStop /// </summary> protected override void OnStop() { base.OnStop(); AgentManager.StopController(); QLogger.InfoFormat("TcpServerListener stoped :{0}", this.Settings.HostName); }
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; QLogger.InfoFormat("AddQueue : {0}", prop.Print()); //return MessageState.Ok; return(QueueItem.Ack(MessageState.Ok, QueueCmd.AddQueue)); }
/// <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(IQProperties 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); //LoadQueue(queue,prop); MQ[prop.QueueName] = queue; QLogger.InfoFormat("AddQueue : {0}", prop.QueueName); return(queue); }
public TransStream GetQueueReport(IQueueMessage message) { MQueue queue = Get(message.Host); if (queue == null) { var ack = new QueueItem()//MessageState.QueueNotFound, "QueueNotFound: " + message.Host, null, message.Host); { MessageState = MessageState.QueueNotFound, Label = "QueueNotFound: " + message.Host, Host = message.Host }; QLogger.InfoFormat("QueueController GetQueueReport QueueNotFound : {0}", message.Host); return(ack.ToTransStream()); } var report = queue.GetReport(); string result = null; if (report != null) { result = Nistec.Serialization.JsonSerializer.Serialize(report); } var item = new QueueItem()//MessageState.Ok, result, null, message.Host); { MessageState = MessageState.Ok, Label = result, Host = message.Host }; item.SetBody(report); QLogger.InfoFormat("QueueController GetQueueReport : {0}", result); return(item.ToTransStream()); }
/// <summary> /// OnStop /// </summary> protected override void OnStop() { base.OnStop(); QLogger.InfoFormat("PipeServerManager stoped :{0}", PipeName); //AgentManager.Queue.Stop(); }
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); if (item.IsTopic == false) { var mq = AddQueue(item); QLogger.InfoFormat("Queue Added: {0}", item.Print()); } } }
public PriorityPersistQueue(IQProperties qp) : base(qp.QueueName) { int numProcs = Environment.ProcessorCount; int concurrencyLevel = numProcs * 2; int initialCapacity = 101; QueueList = new ConcurrentDictionary <Ptr, IQueueItem>(concurrencyLevel, initialCapacity); CommitMode = (CommitMode)(int)qp.CommitMode; CoverMode = qp.Mode; if (CoverMode == CoverMode.Persistent) { DbLiteSettings settings = new DbLiteSettings() { Name = qp.QueueName, CommitMode = (CommitMode)(int)qp.CommitMode, DbPath = AgentManager.Settings.QueuesPath }; //settings.SetFast(); m_db = new PersistentBinary <IQueueItem>(settings); //m_db = new PersistentDictionary(settings); m_db.BeginLoading += M_db_BeginLoading; m_db.LoadCompleted += M_db_LoadCompleted; m_db.ErrorOcurred += M_db_ErrorOcurred; m_db.ClearCompleted += M_db_ClearCompleted; //m_db.ItemChanged += M_db_ItemChanged; m_db.ItemLoaded = (item) => { this.ReEnqueue(item); }; if (qp.ReloadOnStart) { QLogger.InfoFormat("PriorityPersistQueue will load items to : {0}", qp.QueueName); } else { QLogger.InfoFormat("PriorityPersistQueue will clear all items from : {0}", qp.QueueName); } m_db.ReloadOrClearPersist(qp.ReloadOnStart); } }
/// <summary>Deletes a queue on a Message Queuing server.</summary> /// <param name="queueName">The location of the queue to be deleted. </param> public IQueueItem RemoveQueue(string queueName) { if (queueName == null) { throw new ArgumentNullException("queueName"); } if (queueName.Length == 0) { throw new ArgumentException("InvalidParameter", "queueName"); } //RemoveDbQueue(queueName); MQueue queue; bool removed = MQ.TryRemove(queueName, out queue); QLogger.InfoFormat("RemoveQueue : {0}, {1}", queueName, removed); return(QueueItem.Ack(removed?MessageState.Ok: MessageState.OperationFailed, QueueCmd.RemoveQueue, removed? "Queue was removed" : "Queue was not removed", null)); }
/// <summary> /// OnStart /// </summary> protected override void OnStart() { base.OnStart(); QLogger.InfoFormat("HttpServerListener started :{0}", this.Settings.HostName); }
protected override void OnMessageReceived(QueueItemEventArgs e) { base.OnMessageReceived(e); QLogger.InfoFormat("PriorityMemQueue OnMessageReceived : Host:{0}, Item:{1}", this.Host, e.Item.Print()); }
protected override void OnErrorOccured(QueueItemEventArgs e) { base.OnErrorOccured(e); QLogger.InfoFormat("PriorityMemQueue OnError : Host:{0}, message:{1}", this.Host, e.Message); }
private void M_db_LoadCompleted(object sender, Generic.GenericEventArgs <string, int> e) { QLogger.InfoFormat("PriorityPersistQueue LoadCompleted : {0}, Count:{1}", e.Args1, e.Args2); }
private void M_db_ClearCompleted(object sender, EventArgs e) { QLogger.InfoFormat("PriorityPersistQueue ClearCompleted : {0}", m_db.Name); }
private void M_db_BeginLoading(object sender, EventArgs e) { QLogger.InfoFormat("PriorityPersistQueue BeginLoading : {0}", m_db.Name); }
/// <summary> /// OnStop /// </summary> protected override void OnStop() { base.OnStop(); AgentManager.StopController(); QLogger.InfoFormat("PipeServerListener stoped :{0}", PipeName); }