public MessageTrack GetMessageTrackByGuid(MessageFilter Filter)
        {
            MessageTrack result = null;

            try
            {
                using (var db = new EntryContext())
                {
                    var query = from m in db.MessageTracks
                                .Include("Entry301s")
                                .Include("Entry302s")
                                .Include("Entry501s")
                                .Include("Entry502s")
                                .Include("Entry503s")
                                .Include("Entry504s")
                                .Include("Entry601s")
                                .Include("Entry602s")
                                where m.ItemGuid == Filter.Guid
                                select m;
                    result = query.FirstOrDefault();
                }
            }
            catch (Exception ex)
            {
                Logs.Error("GetMessageTrackByGuid Exception: " + ex.ToString());
            }
            return(result);
        }
Example #2
0
        public void Consume(Message message)
        {
            message.Source   = _envelope.ReceivedAt;
            message.Envelope = _envelope;

            MessageHistory.Record(MessageTrack.ForReceived(message, message.Id.ToString()));
        }
Example #3
0
        public void listens_and_finishes_after_receiving_the_all_clear()
        {
            // trying to get the asset pipeline to shut up about
            // non-existent assets
            var settings = new ApplicationSettings
            {
                PhysicalPath = Environment.CurrentDirectory
                               .ParentDirectory().ParentDirectory().ParentDirectory()
                               .AppendPath("RemoteService")
            };

            var system = new FubuMvcSystem(() => FubuRuntime.Basic());

            system.AddRemoteSubSystem("Remote", x => { x.UseParallelServiceDirectory("RemoteService"); });

            using (var context = system.CreateContext())
            {
                system.StartListeningForMessages();
                var message = new RemoteGo();
                MessageHistory.Record(MessageTrack.ForSent(message));

                var waitForWorkToFinish =
                    MessageHistory.WaitForWorkToFinish(
                        () => { system.RemoteSubSystemFor("Remote").Runner.SendRemotely(message); }, 30000);
                waitForWorkToFinish.ShouldBeTrue();
            }
        }
Example #4
0
        public override MessageTrack ToMessageTrack()
        {
            var track = MessageTrack.ForReceived(this, Envelope.CorrelationId);

            track.Type = track.FullName = MessageTrackType;

            return(track);
        }
        public override MessageTrack ToMessageTrack()
        {
            MessageTrack track = MessageTrack.ForSent(this, Envelope.CorrelationId);

            track.Type = track.FullName = MessageTrackType;

            return(track);
        }
Example #6
0
        public void Handle(ChainExecutionStarted message)
        {
            if (message.Envelope.IsPollingJobRelated())
            {
                return;
            }

            MessageTrack track = MessageTrack.ForSent(message, message.Envelope.CorrelationId);

            track.Type = track.FullName = MessageTrackType;

            Bottles.Services.Messaging.EventAggregator.SendMessage(track);
        }
        public void track_received()
        {
            var foo1 = new Foo();
            var foo2 = new Foo();
            var foo3 = new Foo();

            MessageHistory.Record(MessageTrack.ForReceived(foo1));
            MessageHistory.Record(MessageTrack.ForReceived(foo2));
            MessageHistory.Record(MessageTrack.ForReceived(foo3));

            MessageHistory.Received().Select(x => x.Id)
            .ShouldHaveTheSameElementsAs(foo1.Id.ToString(), foo2.Id.ToString(), foo3.Id.ToString());
        }
Example #8
0
        public MessageTrack GetMessageTrackByGuid(MessageFilter filter)
        {
            MessageTrack result = null;

            try
            {
                string resultStr = Execute(ExecuteAction.GetByGuid, Utilities.JsonSerialize(filter));
                result = JsonConvert.DeserializeObject <MessageTrack>(resultStr);
            }
            catch (Exception ex)
            {
                Logs.Error("GetMessageTrackByGuid Exception: " + ex.ToString());
            }
            return(result);
        }
Example #9
0
        public void record_received_message_with_explicit_id()
        {
            var message = new MyMessage
            {
                Id   = Guid.NewGuid(),
                Name = "Jeremy"
            };

            var sent = MessageTrack.ForReceived(message, "bar");

            sent.FullName.ShouldBe(typeof(MyMessage).FullName);
            sent.Type.ShouldBe(typeof(MyMessage).Name);
            sent.Description.ShouldBe(message.ToString());
            sent.Id.ShouldBe("bar");
            sent.Status.ShouldBe(MessageTrack.Received);
        }
Example #10
0
        public void record_sent_message_with_id()
        {
            var message = new MyMessage
            {
                Id   = Guid.NewGuid(),
                Name = "Jeremy"
            };

            var sent = MessageTrack.ForSent(message, "foo");

            sent.FullName.ShouldBe(typeof(MyMessage).FullName);
            sent.Type.ShouldBe(typeof(MyMessage).Name);
            sent.Description.ShouldBe(message.ToString());
            sent.Id.ShouldBe("foo");
            sent.Status.ShouldBe(MessageTrack.Sent);
        }
Example #11
0
        public void finish_successfully_with_MessageHistory_WaitForWorkToFinish_positive()
        {
            var foo1 = new Foo();
            var foo2 = new Foo();
            var foo3 = new Foo();

            MessageHistory.WaitForWorkToFinish(() => {
                MessageHistory.Record(MessageTrack.ForSent(foo1));
                MessageHistory.Record(MessageTrack.ForSent(foo2));
                MessageHistory.Record(MessageTrack.ForSent(foo3));

                MessageHistory.Record(MessageTrack.ForReceived(foo1));
                MessageHistory.Record(MessageTrack.ForReceived(foo2));
                MessageHistory.Record(MessageTrack.ForReceived(foo3));
            }).ShouldBeTrue();
        }
Example #12
0
        private void handle(EnvelopeToken envelope, string status, Uri uri)
        {
            if (envelope.IsPollingJobRelated())
            {
                return;
            }

            var track = new MessageTrack
            {
                Type     = "OutstandingEnvelope",
                Id       = envelope.CorrelationId,
                FullName = "{0}@{1}".ToFormat(envelope.CorrelationId, uri),
                Status   = status
            };

            Bottles.Services.Messaging.EventAggregator.SendMessage(track);
        }
        public bool DealMessage301(string orderNo, string orderNoFake, string logisticsNo, bool isReceived, bool isCreated, string guid, string destPath, string logisticCode)
        {
            bool success = true;

            try
            {
                EntryCreate entry = new EntryCreate();
                entry.ItemGuid   = new Guid(guid);
                entry.IsReceived = isReceived;
                entry.IsCreated  = isCreated;
                entry.CreateTime = entry.ReceiveTime = DateTime.Now.ToString("yyyyMMddHHmmss");
                entry.FilePath   = destPath;

                MessageTrack msTrack = new MessageTrack();
                msTrack.ItemGuid        = Guid.NewGuid();
                msTrack.OrderNo         = orderNo;
                msTrack.OrderNoFake     = orderNoFake;
                msTrack.LogisticsNo     = logisticsNo;
                msTrack.Schedule        = 301;
                msTrack.LastUpdateTicks = DateTime.Now.Ticks;
                msTrack.Commnet1        = logisticCode;
                msTrack.Entry301s       = new List <EntryCreate>();
                msTrack.Entry302s       = new List <EntryReceive>();
                msTrack.Entry501s       = new List <EntryCreate>();
                msTrack.Entry502s       = new List <EntryReceive>();
                msTrack.Entry503s       = new List <EntryCreate>();
                msTrack.Entry504s       = new List <EntryReceive>();
                msTrack.Entry601s       = new List <EntryCreate>();
                msTrack.Entry602s       = new List <EntryReceive>();
                msTrack.Entry301s.Add(entry);
                using (var db = new EntryContext())
                {
                    db.MessageTracks.Add(msTrack);
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                Logs.Error(string.Format("DealMessage301 OrderNo: {0} , Exception: {1}", orderNo, ex.ToString()));
                success = false;
            }
            return(success);
        }
Example #14
0
        public void clear_all_absolutely_has_to_work()
        {
            var foo1 = new Foo();
            var foo2 = new Foo();
            var foo3 = new Foo();

            MessageHistory.Record(MessageTrack.ForReceived(foo1));
            MessageHistory.Record(MessageTrack.ForReceived(foo2));
            MessageHistory.Record(MessageTrack.ForReceived(foo3));

            MessageHistory.Record(MessageTrack.ForSent(foo1));
            MessageHistory.Record(MessageTrack.ForSent(foo2));
            MessageHistory.Record(MessageTrack.ForSent(foo3));

            MessageHistory.ClearAll();

            MessageHistory.Outstanding().Any().ShouldBeFalse();
            MessageHistory.Received().Any().ShouldBeFalse();
            MessageHistory.All().Any().ShouldBeFalse();
        }
Example #15
0
        public void clear_history_removes_all()
        {
            var foo1 = new Foo();
            var foo2 = new Foo();
            var foo3 = new Foo();

            MessageHistory.Record(MessageTrack.ForReceived(foo1));
            MessageHistory.Record(MessageTrack.ForReceived(foo2));
            MessageHistory.Record(MessageTrack.ForReceived(foo3));

            MessageHistory.Record(MessageTrack.ForSent(foo1));
            MessageHistory.Record(MessageTrack.ForSent(foo2));
            MessageHistory.Record(MessageTrack.ForSent(foo3));

            MessageHistory.ClearHistory();

            MessageHistory.Outstanding().Any().ShouldBeFalse();
            MessageHistory.Received().Any().ShouldBeFalse();
            MessageHistory.All().Any().ShouldBeFalse();
        }
Example #16
0
        public void sends_the_all_clear_message_when_it_gets_everything()
        {
            var foo1 = new Foo();
            var foo2 = new Foo();
            var foo3 = new Foo();

            MessageHistory.Record(MessageTrack.ForSent(foo1));
            MessageHistory.Record(MessageTrack.ForSent(foo2));
            MessageHistory.Record(MessageTrack.ForSent(foo3));

            assertHasNotReceivedAllCompleteMessage();

            MessageHistory.Record(MessageTrack.ForReceived(foo1));
            assertHasNotReceivedAllCompleteMessage();

            MessageHistory.Record(MessageTrack.ForReceived(foo2));
            assertHasNotReceivedAllCompleteMessage();

            MessageHistory.Record(MessageTrack.ForReceived(foo3));
            assertAllCompleteMessage();
        }
Example #17
0
        public void Handle(EnvelopeReceived message)
        {
            EnvelopeToken envelope = message.Envelope;

            _receivedEnvelopes.Add(envelope);

            // Acknowledge that the message was received so it doesn't
            // get stuck as Outstanding in the MessageHistory
            // Sometimes this happens in the wrong order so we need to
            // wait for it to be in the pending list first.
            FubuMVC.Core.Services.Wait.Until(() => MessageHistory.Outstanding().Any(x => x.Id == envelope.CorrelationId),
                                             millisecondPolling: 50,
                                             timeoutInMilliseconds: 1000);
            var track = new MessageTrack
            {
                FullName = "{0}@{1}".ToFormat(envelope.CorrelationId, envelope.Destination),
                Id       = envelope.CorrelationId,
                Status   = MessageTrack.Received,
                Type     = "OutstandingEnvelope"
            };

            FubuMVC.Core.Services.Messaging.GlobalMessageTracking.SendMessage(track);
        }
 public void Act(IScenarioWriter writer)
 {
     MessageHistory.Record(MessageTrack.ForSent(Message));
     _sender.ServiceBus.Send(Message);
 }
 public static void ReceivedMessage(object message)
 {
     SendMessage(MessageTrack.ForReceived(message));
 }
 public static void SentMessage(object message)
 {
     SendMessage(MessageTrack.ForSent(message));
 }
 public void Act(IScenarioWriter writer)
 {
     MessageHistory.Record(MessageTrack.ForSent(_request));
     _completion = _sender.ServiceBus.SendAndWait(_request);
 }