static void Main(string[] args) { Console.WriteLine("SubQueueWithReply start"); IQuantObserver <QuantMessage> c = new QuantClient().RouteQueue(); int counter = 1; var s = c.Subscribe("foo.chanel", c.ConnectionOption.StanSubscriptionOptions, (obj, arg) => { QuantMessage m = arg.Message.Data.DeserializeMsg <QuantMessage>(); var a = m.GetData <MyMsg>(); Console.WriteLine("Received a message as data: {0}", System.Text.Encoding.UTF8.GetString(arg.Message.Data)); }); QuantMessage roseModel = new QuantMessage().Init(Guid.NewGuid(), "SubQueueWithRep", "PubReply", "200000"); while (true) { Console.WriteLine("Enter message"); MyMsg model = new MyMsg { Id = counter++, Name = Console.ReadLine() }; roseModel.AddOrUpdateData(model); c.Publish("foo.chanel.rep", roseModel); } }
public static QuantMessage Init(this QuantMessage message, Guid instanceId, string transactionCode, string systemCode, string systemReference) { if (message == null) { message = new QuantMessage(); } if (message.TransactionInfo != null) { throw new QuantMessageRouteInfoException("TransactionInfo is not null. It was initialized before"); } message.Call = new Call { Status = "INIT", }; message.TransactionInfo = new TransactionInfo { InstanceId = instanceId, TransactionCode = transactionCode, SystemCode = systemCode, SystemReference = systemReference }; message.Correlations = new List <Correlation>(); return(message); }
public void Serialazer_Test() { QuantMessage model = new QuantMessage(); model.Call = new Call { NextCall = DateTime.Now, RetryCount = 0, Status = "DONE" }; model.AddOrUpdateData <TestModel>(new TestModel { Id = 100, Name = "Test - 1" }); model.AddOrUpdateData <TestModel2>(new TestModel2 { Id = 102, Name = "Test - 2" }); var ser = model.SerializeMsg(); var des = ser.DeserializeMsg <QuantMessage>(); Assert.AreEqual(model["TestModel"], "{\"Id\":102,\"Name\":\"Test - 2\"}"); }
static void Main(string[] args) { Console.WriteLine("SubQueue start"); IQuantObserver <QuantMessage> c = new QuantClient().RouteQueue(); var s = c.SubscribeQueue("foo.chanel", (obj, arg) => { QuantMessage m = arg.Message.Data.DeserializeMsg <QuantMessage>(); var a = m.GetData <MyMsg>(); Console.WriteLine("Received a message as data: {0}", System.Text.Encoding.UTF8.GetString(arg.Message.Data)); }); Console.ReadKey(); }
public void Add_Or_Update_Service_model_Test() { QuantMessage model = new QuantMessage(); model.AddOrUpdateData <TestModel>(new TestModel { Id = 100, Name = "Test - 1" }); model.AddOrUpdateData <TestModel>(new TestModel { Id = 102, Name = "Test - 2" }); Assert.AreEqual(model["TestModel"], "{\"Id\":102,\"Name\":\"Test - 2\"}"); }
public void Add_dublicate_Service_model_Test() { QuantMessage model = new QuantMessage(); model.AddData <TestModel>(new TestModel { Id = 100, Name = "Test-1" }); model.AddData <TestModel>(new TestModel { Id = 102, Name = "Test-2" }); }