public void Consuming(T message)
        {
            ConsumeEventArgs <T> args = new ConsumeEventArgs <T>();

            args.Message = message;

            ConsumeEvent(this, args);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
        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);
        }