示例#1
0
        private async Task <InnerUploadFileResponse> InnerUploadFile(String documentHandle)
        {
            IdentityGenerator.New <DocumentDescriptorId>().Returns(new DocumentDescriptorId(1));
            var descriptor = Substitute.For <IBlobDescriptor>();

            descriptor.Hash.Returns(new FileHash("abc"));
            BlobStore.GetDescriptor(Arg.Any <BlobId>()).Returns(descriptor);
            long streamLen = 0;
            HttpResponseMessage response = null;

            using (var stream = new MemoryStream())
            {
                var fileWriter = new BlobWriter(new BlobId("sample_1"), stream, new FileNameWithExtension("a.file"));
                BlobStore.CreateNew(Arg.Any <DocumentFormat>(), Arg.Any <FileNameWithExtension>()).Returns(fileWriter);
                response = await upload_file(TestConfig.PathToDocumentPdf, documentHandle);

                streamLen = stream.Length;
            }


            return(new InnerUploadFileResponse()
            {
                Response = response, StreamLength = streamLen
            });
        }
示例#2
0
 private void InitNotifyMessage(NotifyMessage message)
 {
     message.MessageId         = IdentityGenerator.New();
     message.ClientIP          = ClientProfile.ClientIP;
     message.CreateTime        = DateTime.Now;
     RequestProfile.MessageKey = message.MessageId;
 }
        protected TKey Translate(string externalKey, bool createOnMissing = true)
        {
            if (IdentityGenerator == null)
            {
                throw new JarvisFrameworkEngineException("Identity Generator not set");
            }

            if (externalKey == null)
            {
                throw new ArgumentNullException(nameof(externalKey));
            }
            externalKey = externalKey.ToLowerInvariant();
            var mapped = _collection.FindOneById(externalKey);

            if (mapped == null)
            {
                if (createOnMissing)
                {
                    mapped = MapIdentity(externalKey, IdentityGenerator.New <TKey>());
                }
                else
                {
                    throw new JarvisFrameworkEngineException(string.Format("No mapping found for key {0}:{1}", typeof(TKey).FullName, externalKey));
                }
            }

            return(mapped.AggregateId);
        }
示例#4
0
        public List <NotifyMessage> GetList(MessagePriorityEnum mesPrvEnm, string messTypeEnm)
        {
            Stopwatch watch = Stopwatch.StartNew();

            watch.Start();
            List <NotifyMessage> list = new List <NotifyMessage>();
            int count = 1000;

            for (int i = 0; i < count; i++)
            {
                NotifyMessage mess = new NotifyMessage()
                {
                    MessageId       = IdentityGenerator.New(),
                    AppId           = "11011",
                    MessagePriority = mesPrvEnm,
                    MessageKey      = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + mesPrvEnm.ToString() + "_" + i.ToString(),
                    MessageType     = messTypeEnm.ToString(),
                    NotifyData      = "a=1&b=2",
                    SourceFrom      = "test",
                    ClientIP        = "127.0.0.1",
                    CreateTime      = DateTime.Now
                };
                list.Add(mess);
            }

            watch.Stop();
            long min = watch.ElapsedMilliseconds;

            return(list);
        }
示例#5
0
        public void SaveNotifyMessage()
        {
            NotifyMessageBusiness bus = new NotifyMessageBusiness();
            int count = 10;
            List <NotifyMessage> list = new List <NotifyMessage>();

            for (int i = 0; i < count; i++)
            {
                NotifyMessage mess = new NotifyMessage()
                {
                    MessageId       = IdentityGenerator.New(),
                    AppId           = "11011",
                    MessagePriority = MessagePriorityEnum.High,
                    MessageKey      = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + "OrderTicketOut" + "_" + i.ToString(),
                    MessageType     = "OrderTicketOut",
                    NotifyData      = "a=1&b=2",
                    SourceFrom      = "test",
                    ClientIP        = "127.0.0.1",
                    CreateTime      = DateTime.Now
                };
                list.Add(mess);
            }
            Stopwatch watch = Stopwatch.StartNew();

            bus.Save(list);

            watch.Stop();
            long min = watch.ElapsedMilliseconds;
        }
示例#6
0
        public void TestMQ()
        {
            var bus        = RabbitHutch.CreateBus(ConfigurationAppSetting.RabbitMQHost, reg => reg.Register <IEasyNetQLogger>(log => new Log4NetLogger())).Advanced;
            var queue      = bus.QueueDeclare("Test");
            var exchange   = bus.ExchangeDeclare("JinRiNotifyExchangeTest", ExchangeType.Topic);
            var binding    = bus.Bind(exchange, queue, "");
            var properties = new MessageProperties();

            for (int i = 0; i < 100; i++)
            {
                NotifyMessage mess = new NotifyMessage()
                {
                    MessageId       = IdentityGenerator.New(),
                    AppId           = "11011",
                    MessagePriority = MessagePriorityEnum.High,
                    MessageKey      = MessagePriorityEnum.High.ToString(),
                    MessageType     = "OrderTicketOut",
                    NotifyData      = "a=1&b=2",
                    SourceFrom      = "test",
                    ClientIP        = "127.0.0.1"
                };
                var body = System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(mess));
                bus.Publish(exchange, "", false, false, properties, body);
            }
            bus.Consume(queue, (b, ps, info) => Task.Factory.StartNew(() =>
            {
                var message = Encoding.UTF8.GetString(b);
                RabbitMQBusiness.ComsumeMessage(JsonConvert.DeserializeObject <NotifyMessage>(message));
            }));
        }
示例#7
0
        public void TestBuild()
        {
            BuildMessageBusiness notify = new BuildMessageBusiness();
            NotifyMessage        mess   = new NotifyMessage()
            {
                MessageId       = IdentityGenerator.New(),
                AppId           = "11011",
                MessagePriority = MessagePriorityEnum.High,
                MessageKey      = MessagePriorityEnum.High.ToString() + "_" + new Random().Next(1, 11).ToString(),
                MessageType     = "OrderTicketOut",
                NotifyData      = "a=1&b=2",
                SourceFrom      = "test",
                ClientIP        = "127.0.0.1"
            };

            notify.Build(mess);
        }
示例#8
0
        private List <PushMessageModel> BuildMessage(NotifyMessage message)
        {
            List <PushMessageModel> pmlist = new List <PushMessageModel>();

            try
            {
                List <NotifyInterfaceSettingModel> nslist = _notifySettingBus.GetListFromCache();
                if (nslist == null || nslist.Count == 0 || message == null)
                {
                    return(null);
                }
                bool isPushNext = false;
                foreach (NotifyInterfaceSettingModel setting in nslist.FindAll(x => x.Status == 2 && x.MessageType.ToString().Equals(message.MessageType, StringComparison.OrdinalIgnoreCase)))
                {
                    PushMessageModel pushMod = new PushMessageModel();
                    pushMod.PushId            = IdentityGenerator.New();
                    pushMod.MessageId         = message.MessageId;
                    pushMod.SettingId         = setting.SettingId;
                    pushMod.MessageKey        = message.MessageKey;
                    pushMod.MessagePriority   = message.MessagePriority;
                    pushMod.MessageType       = message.MessageType;
                    pushMod.PushData          = string.Format("msgid={0}&msgkey={1}&msgtype={2}&data={3}", pushMod.PushId, message.MessageKey, message.MessageType, HttpUtility.UrlEncode(message.NotifyData));
                    pushMod.PushStatus        = PushStatusEnum.UnPush;
                    pushMod.MessageCreateTime = message.CreateTime;
                    pushMod.CreateTime        = DateTime.Now;
                    pushMod.LastModifyTime    = pushMod.CreateTime;
                    pushMod.PushCount         = 0;
                    pushMod.Memo         = string.Format("Add:{0:yyyy-MM-dd HH:mm:ss};{1}", message.CreateTime, Environment.NewLine);
                    pushMod.NextPushTime = ComputePushTimeBusiness.ComputeNextPushTime(pushMod, out isPushNext);

                    pmlist.Add(pushMod);
                }
            }
            catch (Exception ex)
            {
                MetricsKeys.BuilderService_Build.MeterMark("Error");
                Process.Error(message.MessageId, "消息生成中心", "Exception", message.MessageId, "生成推送消息,发生异常:" + ex.GetString(), "");
            }
            finally
            {
                Process.Debug(message.MessageId, "消息生成中心", "finally", message.MessageId, "生成推送消息,条数:" + pmlist.Count, "");
            }
            return(pmlist);
        }
示例#9
0
        public void TestSavePushMessage()
        {
            BuildMessageBusiness buildBus = new BuildMessageBusiness();
            PushMessageBusiness  pushBus  = new PushMessageBusiness();
            NotifyMessage        mess     = new NotifyMessage()
            {
                MessageId       = IdentityGenerator.New(),
                AppId           = "11012",
                MessagePriority = MessagePriorityEnum.High,
                MessageKey      = MessagePriorityEnum.High.ToString() + "_" + new Random().Next(1, 11).ToString(),
                MessageType     = "OrderTicketOut",
                NotifyData      = "a=1&b=2",
                SourceFrom      = "test",
                ClientIP        = "127.0.0.1"
            };

            List <PushMessageModel> list = buildBus.GetType().InvokeMember("BuildMessage", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Instance, System.Type.DefaultBinder, buildBus, new object[] { mess }) as List <PushMessageModel>;

            pushBus.Save(list);
        }
示例#10
0
        public void TestPublish()
        {
            int count = 3000;

            for (int i = 0; i < count; i++)
            {
                NotifyMessage mess = new NotifyMessage()
                {
                    MessageId       = IdentityGenerator.New(),
                    AppId           = "11011",
                    MessagePriority = MessagePriorityEnum.High,
                    MessageKey      = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + MessagePriorityEnum.High.ToString() + "_" + i.ToString(),
                    MessageType     = "OrderTicketOut",
                    NotifyData      = "a=1&b=2",
                    SourceFrom      = "test",
                    ClientIP        = "127.0.0.1",// ClientProfile.Current.ClientIP,
                    CreateTime      = DateTime.Now
                };
                RabbitMQBusiness.Instance.Publisher(mess);
                Thread.Sleep(10);
            }

            for (int i = 0; i < count; i++)
            {
                NotifyMessage mess = new NotifyMessage()
                {
                    MessageId       = IdentityGenerator.New(),
                    AppId           = "11012",
                    MessagePriority = MessagePriorityEnum.Middle,
                    MessageKey      = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + MessagePriorityEnum.Middle.ToString() + "_" + i.ToString(),
                    MessageType     = "OrderPayResult",
                    NotifyData      = "a=1&b=2",
                    SourceFrom      = "test",
                    ClientIP        = "127.0.0.1",// ClientProfile.Current.ClientIP,
                    CreateTime      = DateTime.Now
                };

                RabbitMQBusiness.Instance.Publisher(mess);
                Thread.Sleep(10);
            }

            for (int i = 0; i < count; i++)
            {
                NotifyMessage mess = new NotifyMessage()
                {
                    MessageId       = IdentityGenerator.New(),
                    AppId           = "11013",
                    MessagePriority = MessagePriorityEnum.Normal,
                    MessageKey      = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + MessagePriorityEnum.Normal.ToString() + "_" + i.ToString(),
                    MessageType     = "NotifyZBNTicketOut",
                    NotifyData      = "a=1&b=2",
                    SourceFrom      = "test",
                    ClientIP        = "127.0.0.1",// ClientProfile.Current.ClientIP,
                    CreateTime      = DateTime.Now
                };

                RabbitMQBusiness.Instance.Publisher(mess);
                Thread.Sleep(10);
            }

            for (int i = 0; i < count; i++)
            {
                NotifyMessage mess = new NotifyMessage()
                {
                    MessageId       = IdentityGenerator.New(),
                    AppId           = "11014",
                    MessagePriority = MessagePriorityEnum.Low,
                    MessageKey      = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + MessagePriorityEnum.Low.ToString() + "_" + i.ToString(),
                    MessageType     = "OrderCancel",
                    NotifyData      = "a=1&b=2",
                    SourceFrom      = "test",
                    ClientIP        = "127.0.0.1",//ClientProfile.Current.ClientIP,
                    CreateTime      = DateTime.Now
                };

                RabbitMQBusiness.Instance.Publisher(mess);
                Thread.Sleep(10);
            }
        }