public void Consuming(T message) { ConsumeEventArgs <T> args = new ConsumeEventArgs <T>(); args.Message = message; ConsumeEvent(this, args); }
private ConsumeConcurrentlyStatus Consumer_ConsumeMessage(object obj, ConsumeEventArgs args) { StringBuilder builder = new StringBuilder(); args.Messages.ForEach(t => { builder.AppendLine(Encoding.UTF8.GetString(t.getBody())); }); txbConsume.SetUIValue(builder.ToString(), "Text"); //txbConsume.Text = builder.ToString(); return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS); }
private ConsumeConcurrentlyStatus Consumer_ConsumeMessage(object obj, ConsumeEventArgs args) { //lock (this) //{ foreach (var m in args.Messages) { string body = Encoding.UTF8.GetString(m.getBody()); string tableName = m.getKeys(); string tag = m.getTags(); if (!HandleMessage(tag, tableName, body, MQFactory.Consumerconfig[0].EnableLog)) { return(ConsumeConcurrentlyStatus.RECONSUME_LATER); } } //} return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS); }
private ConsumeConcurrentlyStatus Producer_ConsumeMessage(object obj, ConsumeEventArgs args) { IDBHelper helper = DBFactory.CreateDBHelper(); //存储队列 var generator = IDGeneratorFactory.Create(GeneratorType.SnowFlak); foreach (var m in args.Messages) { try { StringBuilder sql = new StringBuilder(); string ID = generator.Generate(); string body = Encoding.UTF8.GetString(m.getBody()); string tableName = m.getKeys(); string tag = m.getTags(); sql.Append("INSERT INTO MQCache([ID],[Key],[Tag],[Body],[CreateTime]) VALUES(@ID, @Key, @Tag, @Body, GETDATE())"); List <Parameter> parameters = new List <Parameter> { new Parameter("@ID", ID), new Parameter("@Key", tableName), new Parameter("@Tag", tag), new Parameter("@Body", body), }; lock (this) { helper.ExecNoneQueryWithSQL(sql.ToString(), parameters.ToArray()); } _logger.Write("插入数据库成功,json:" + body); } catch (Exception ex) { _logger.WriteException(ex); throw ex; } } return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS); }