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); }
public void Consume(Message message) { message.Source = _envelope.ReceivedAt; message.Envelope = _envelope; MessageHistory.Record(MessageTrack.ForReceived(message, message.Id.ToString())); }
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(); } }
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); }
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()); }
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); }
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); }
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); }
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(); }
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); }
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(); }
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(); }
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(); }
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); }