Ejemplo n.º 1
0
        public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext consume)
        {
            //throw new NotImplementedException();
            //for (int i = 0; i < list.size(); i++)
            //{

            //}
            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }
Ejemplo n.º 2
0
 public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext ccc)
 {
     for (int i = 0; i < list.size(); i++)
     {
         var    msg  = list.get(i) as Message;
         byte[] body = msg.getBody();
         var    str  = Encoding.Default.GetString(body);
         Console.WriteLine(str);
     }
     return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
 }
Ejemplo n.º 3
0
 public ConsumeConcurrentlyStatus consumeMessage(List l, ConsumeConcurrentlyContext ccc)
 {
     if (OnConsume != null)
     {
         return(OnConsume.Invoke(l, ccc));
     }
     else
     {
         throw new Exception("没有注册事件OnConsume!");
     }
 }
Ejemplo n.º 4
0
        public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext consume)
        {
            //throw new NotImplementedException();
            for (int i = 0; i < list.size(); i++)
            {
                //Console.WriteLine("Hello");
                Console.WriteLine(list);
            }

            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }
Ejemplo n.º 5
0
        public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext ccc)
        {
            for (int i = 0; i < list.size(); i++)
            {
                var msg = list.get(i) as Message;

                Console.WriteLine(" Receive message " + msg.getBuyerId() + msg.getDelayTimeLevel() + "ms later");
            }

            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }
Ejemplo n.º 6
0
 public ConsumeConcurrentlyStatus consumeMessage(java.util.List list, ConsumeConcurrentlyContext ccc)
 {
     for (int i = 0; i < list.size(); i++)
     {
         var                msg  = list.get(i) as Message;
         byte[]             body = msg.getBody();
         var                str  = Encoding.UTF8.GetString(body);
         MongodbQueryEntity mongodbQueryEntity = JsonConvert.DeserializeObject <MongodbQueryEntity>(str);
         mongodbHelper.Add(mongodbQueryEntity.tablename + DateTime.Now.ToString("yyyyMM"), mongodbQueryEntity);;
     }
     return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
 }
Ejemplo n.º 7
0
        public ConsumeConcurrentlyStatus consumeMessage(List l, ConsumeConcurrentlyContext ccc)
        {
            if (_onconsumedelegate != null)
            {
                return(_onconsumedelegate.Invoke(l, ccc));
            }

            else
            {
                throw new Exception("没有初始化代理OnConsumeDelegate");
            }
        }
Ejemplo n.º 8
0
 public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext ccc)
 {
     for (int i = 0; i < list.size(); i++)
     {
         var    msg  = list.get(i) as Message;
         Byte[] body = msg.GetBody();
         var    str  = Encoding.UTF8.GetString(body);
         if (body.Length == 2 && body[0] == 0 && body[1] == 0)
         {
             // System.out.println("Got the end signal");
             continue;
         }
     }
     return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
 }
Ejemplo n.º 9
0
 public ConsumeConcurrentlyStatus consumeMessage(java.util.List list, ConsumeConcurrentlyContext ccc)
 {
     for (int i = 0; i < list.size(); i++)
     {
         var    msg  = list.get(i) as Message;
         byte[] body = msg.getBody();
         var    str  = Encoding.UTF8.GetString(body);
         MongodbUpdateVersion mongodbUpdateVersion = JsonConvert.DeserializeObject <MongodbUpdateVersion>(str);
         if (!string.IsNullOrEmpty(mongodbUpdateVersion.item))
         {
             mongodbUpdateVersion.item = mongodbUpdateVersion.item.Remove(0, 1);
             mongodbUpdateVersion.item = mongodbUpdateVersion.item.Remove(mongodbUpdateVersion.item.Length - 1, 1);
         }
         mongodbHelper.AddForJson(mongodbUpdateVersion.tablename, mongodbUpdateVersion.item);
     }
     return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
 }
Ejemplo n.º 10
0
        public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext ccc)
        {
            Iterator iterator = list.iterator();

            while (iterator.hasNext())
            {
                try
                {
                    var messageClientExt = iterator.next() as org.apache.rocketmq.common.message.MessageClientExt;
                    var ss = Encoding.UTF8.GetString(messageClientExt.getBody());
                }
                catch (Exception ex)
                {
                }
            }
            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }
Ejemplo n.º 11
0
        public ConsumeConcurrentlyStatus OnConsumeMessage(List l, ConsumeConcurrentlyContext ccc)
        {
            while (ConsumeBlock)
            {
                Thread.Sleep(100);
            }
            List <Message> list = l.toArray().Cast <Message>().ToList();

            if (ConsumeMessage != null)
            {
                return(ConsumeMessage.Invoke(this, new ConsumeEventArgs {
                    Messages = list, Context = ccc
                }));
            }
            else
            {
                throw new Exception("没有注册ConsumeMessage事件");
            }
        }
Ejemplo n.º 12
0
        //public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
        //        ConsumeConcurrentlyContext context)
        //{
        //    Console.WriteLine("%s Receive New Messages: %s %n", msgs);
        //    return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
        //}

        public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context)

        {
            try

            {
                var messageList = msgs.iterator();
                while (messageList.hasNext())
                {
                    MessageExt msg     = (MessageExt)messageList.next();
                    byte[]     msgbody = msg.getBody();
                    string     body    = Encoding.UTF8.GetString(msgbody);
                    Console.WriteLine("===> consumed msg :" + body);
                }
            }
            catch (Exception ex)
            {
            }

            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }
Ejemplo n.º 13
0
        public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext ccc)
        {
            Iterator iterator = list.iterator();

            while (iterator.hasNext())
            {
                try
                {
                    var messageClientExt = iterator.next() as org.apache.rocketmq.common.message.MessageClientExt;
                    var producer1        = RocketMqHelper.CreateDefaultMQProducer("aaaaa");
                    var message          = new org.apache.rocketmq.common.message.Message("testtopic123455ssss", Encoding.UTF8.GetBytes("张三dddd"));
                    message.setDelayTimeLevel(2);

                    producer1.send(message);
                }
                catch (Exception ex)
                {
                }
            }
            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }
Ejemplo n.º 14
0
 public ConsumeConcurrentlyStatus ConsumeMessage(List l, ConsumeConcurrentlyContext ccc)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 15
0
        public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext ccc)
        {
            Iterator iterator = list.iterator();

            while (iterator.hasNext())
            {
                string wxId   = null;
                byte[] buffer = null;
                try
                {
                    var messageClientExt = iterator.next() as org.apache.rocketmq.common.message.MessageClientExt;
                    buffer = messageClientExt.getBody();
                    wxId   = Encoding.UTF8.GetString(buffer);

                    var result = wechatHelper.SyncInit(wxId);

                    if (result.ModUserInfos?.Count > 0 || result.AddMsgs?.Count > 0 || result.DelContacts?.Count > 0 || result.AddMsgs?.Count > 0)
                    {
                        SyncMessageResult syncMessageResult = new SyncMessageResult();
                        syncMessageResult.WxId = wxId;
                        syncMessageResult.Data = result;
                        var     resultJson = syncMessageResult.ToJson();
                        var     dataBuffer = Encoding.UTF8.GetBytes(resultJson);
                        Message message    = new Message(MqConst.SyncMessageTopic, dataBuffer);
                        var     sendResult = producer.SendMessage(message);
                    }
                    OfflineStatus offlineStatus = new OfflineStatus()
                    {
                        WxId   = wxId,
                        Status = 0
                    };
                    offlineproducer.SendMessage(new Message(MqConst.UserOfflineStatusTopic, Encoding.UTF8.GetBytes(offlineStatus.ToJson())));

                    var userMessage = new Message(MqConst.UserSyncMessageTopic, buffer);
                    userMessage.setDelayTimeLevel(2);           //2表示5秒
                    userproducer.SendMessage(userMessage);
                    Util.Log.Logger.GetLog <SyncMessageListener>().Info(wxId);
                }
                catch (ExpiredException ex)
                {
                    if (!string.IsNullOrEmpty(wxId))
                    {
                        OfflineStatus offlineStatus = new OfflineStatus()
                        {
                            WxId   = wxId,
                            Status = 2
                        };
                        offlineproducer.SendMessage(new Message(MqConst.UserOfflineStatusTopic, Encoding.UTF8.GetBytes(offlineStatus.ToJson())));
                    }
                    if (Dic.ContainsKey(wxId))
                    {
                        if (Dic[wxId] < maxCount)
                        {
                            Dic[wxId]++;
                            userproducer.SendMessage(new Message(MqConst.UserSyncMessageTopic, buffer));
                        }
                        else
                        {
                            Dic[wxId] = 0;
                        }
                    }
                    else
                    {
                        Dic.TryAdd(wxId, 1);
                        userproducer.SendMessage(new Message(MqConst.UserSyncMessageTopic, buffer));
                    }

                    Util.Log.Logger.GetLog <SyncMessageListener>().Error($"{wxId}---重试次数:{Dic[wxId]}\r\n", ex);
                }
                catch (Exception ex)
                {
                    userproducer.SendMessage(new Message(MqConst.UserSyncMessageTopic, buffer));
                    Util.Log.Logger.GetLog <SyncMessageListener>().Error(wxId, ex);
                }
            }
            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }
Ejemplo n.º 16
0
        public ConsumeConcurrentlyStatus consumeMessage(java.util.List list, ConsumeConcurrentlyContext ccc)
        {
            Iterator iterator = list.iterator();

            while (iterator.hasNext())
            {
                try
                {
                    var messageClientExt = iterator.next() as org.apache.rocketmq.common.message.MessageClientExt;

                    var content = Encoding.UTF8.GetString(messageClientExt.getBody());

                    UploadFileObj uploadFileObj = content.ToObj <UploadFileObj>();

                    string objName = null;
                    string mchId   = RedisCache.CreateInstance().Get(ConstCacheKey.GetMchIdKey(uploadFileObj.WxId));
                    if (string.IsNullOrEmpty(mchId))
                    {
                        throw new Exception("未初始化商户Ip");
                    }
                    WechatHelper wechatHelper = new WechatHelper();
                    //图片
                    if (uploadFileObj.MsgType == 3)
                    {
                        byte[] buffer = wechatHelper.GetMsgBigImg(uploadFileObj.LongDataLength, uploadFileObj.MsgId, uploadFileObj.WxId, uploadFileObj.ToWxId, 0, (int)uploadFileObj.LongDataLength);
                        if (buffer != null)
                        {
                            objName = FileStorageHelper.GetObjectName(mchId);
                            FileStorageHelper.Upload(buffer, $"{objName}{uploadFileObj.MsgId}.png");
                        }
                    }
                    //语音
                    else if (uploadFileObj.MsgType == 34)
                    {
                        if (uploadFileObj.Buffer != null)
                        {
                            objName = FileStorageHelper.GetObjectName(mchId);
                            FileStorageHelper.Upload(uploadFileObj.Buffer, $"{objName}{uploadFileObj.MsgId}.silk");
                        }
                    }
                    //视频
                    else if (uploadFileObj.MsgType == 43)
                    {
                        byte[] buffer = wechatHelper.GetVideo(uploadFileObj.WxId, uploadFileObj.ToWxId, uploadFileObj.MsgId, uploadFileObj.LongDataLength, 0, (int)uploadFileObj.LongDataLength);

                        if (buffer != null)
                        {
                            objName = FileStorageHelper.GetObjectName(mchId);
                            FileStorageHelper.Upload(buffer, $"{objName}{uploadFileObj.MsgId}.mp4");
                        }
                    }
                    //Util.Log.Logger.GetLog<UploadOssMessageListener>().Info($"消费Id:{messageClientExt.getMsgId()}--数据:{content}");
                }
                catch (Exception ex)
                {
                    Util.Log.Logger.GetLog <UploadOssMessageListener>().Error(ex);
                    return(ConsumeConcurrentlyStatus.RECONSUME_LATER);
                }
            }



            return(ConsumeConcurrentlyStatus.CONSUME_SUCCESS);
        }