private void PublishMessage(AgentBrokerPayload data)
        {
            var context = data.Context ?? ApplicationMessageContext;
            var message = _messageConverter.ConvertMessage(data.Payload, context, data.Ordinal, data.Offset);

            _messagePublisher.PublishMessage(message); // TODO: Hook into offThread
        }
Exemplo n.º 2
0
        public ICollection <JObject> ReadObjects()
        {
            //SEND
            var message = "Not important";

            _messagePublisher.PublishMessage("ReadNotes", message);
            //MAYBE only send the ACK once got Notes from db AND sent to queue, so its not too chatty?
            //It just says, OK API, you can consume now?)
            //OR just maybe if I am lucky, just consume straight away,
            //and it is intelligent enough to wait? yes.
            //BUT what if lots of requests? How does it know THAT is its message?
            //Perhaps it needs a guid?
            //OR perhaps, just each user, gets their own queue?
            //Yes that is possible... Makes sense in fact. Yes I think so...
            var receivedMessage = _messageConsumer.ConsumeMessage();
            //var jObjects = JObject.Parse(receivedMessage); //Does not work, because it reads it as one object.
            var jObjects = JsonConvert.DeserializeObject <List <JObject> >(receivedMessage);
            var objects  = new List <JObject>();

            for (int i = 0; i < jObjects.Count; i++)
            {
                objects.Add(jObjects[i] as JObject);
            }
            return(objects);
        }
Exemplo n.º 3
0
        private void ReadObjectsAndPublishMessage()
        {
            var objects = _objectReader.ReadObjects();
            var message = JsonConvert.SerializeObject(objects, Formatting.Indented);

            _messagePublisher.PublishMessage(message);
            ResultsPublished?.Invoke(this, new EventArgs());
        }
Exemplo n.º 4
0
        /// <summary>
        /// 发布消息,处理成功完后返回true,其他返回false
        /// </summary>
        /// <param name="publisher"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        protected virtual bool Publish(IMessagePublisher publisher, IMessage message)
        {
            if (publisher == null || message == null)
            {
                return(false);
            }

            publisher.PublishMessage(message);
            return(true);
        }
Exemplo n.º 5
0
        private static void Publish(IMessagePublisher publisher, string customerName, string customerCode)
        {
            Console.WriteLine();
            try
            {
                var customer = new Customer()
                {
                    Id = Guid.NewGuid(), Name = customerName, Code = customerCode
                };

                var message = new NewMessage(type: "Customer", data: JsonConvert.SerializeObject(customer), routingKey: "");

                publisher.PublishMessage(message);

                Console.WriteLine($"Customer {customer.Name} has been published.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            Console.WriteLine();
        }
Exemplo n.º 6
0
        public void DeleteObject(int id)
        {
            var message = id.ToString();

            _messagePublisher.PublishMessage("DeleteNote", message);
        }
Exemplo n.º 7
0
        public void CreateObject(JObject jObject)
        {
            var message = jObject.ToString();

            _messagePublisher.PublishMessage(message);
        }
Exemplo n.º 8
0
        public void UpdateObject(JObject jObject)
        {
            var message = jObject.ToString();

            _messagePublisher.PublishMessage("UpdateNote", message);
        }