示例#1
0
        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);
            }
        }
示例#2
0
        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();
        }
示例#3
0
        static void Main(string[] args)
        {
            Console.WriteLine("PubDurableWithAwait start");

            IQuantObserver <QuantMessage> c = new QuantClient().RouteQueue();

            QuantMessage m;

            var s = c.Subscribe("foo.chanel.rep.await", c.ConnectionOption.StanSubscriptionOptions, (obj, arg) =>
            {
                m = arg.Message.Data.DeserializeMsg <QuantMessage>();

                var a = m.GetData <MyMsg>("MyMsg");

                m.AddOrUpdateCorrelation($"SYSTEM_N_100", "9003399");

                c.PublishAwait("foo.chanel.await", m);

                c.Publish("foo.chanel.rep", m);

                Console.WriteLine("Received a message as data: {0}", System.Text.Encoding.UTF8.GetString(arg.Message.Data));
            });
        }