예제 #1
0
        /// <summary>
        /// Method to handle messages sent to the receiece destination through ActiveMQ
        /// </summary>
        /// <param name="receivedMsg"></param>
        private void OnMessage(IMessage receivedMsg)
        {
            IBytesMessage message       = receivedMsg as IBytesMessage;
            string        messageString = System.Text.Encoding.UTF8.GetString(message.Content);

            if (PsiMQJson.isValid(messageString))
            {
                PsiMQJson obj = PsiMQJson.FromJson(messageString);
                this.Out.Post(obj.Content, obj.DateTime);
            }
        }
예제 #2
0
        /// <summary>
        /// Serializes a content string and date time into a json string that can be parsed into
        /// a PsiMQJson object
        /// </summary>
        /// <param name="str">Content String</param>
        /// <param name="dt">Date Time</param>
        /// <returns></returns>
        public static string SerializeString(string str, DateTime dt)
        {
            PsiMQJson obj = new PsiMQJson(str, dt);

            return(JsonConvert.SerializeObject(obj));
        }
예제 #3
0
        /// <summary>
        /// Parses JSON string and creates PsiMQJson object with a content string and Date Time.
        /// </summary>
        /// <param name="json">Json string to be parsed</param>
        /// <returns></returns>
        public static PsiMQJson FromJson(string json)
        {
            PsiMQJson obj = JsonConvert.DeserializeObject <PsiMQJson>(json);

            return(obj);
        }
예제 #4
0
 /// <summary>
 /// Receives a string from upstream in the pipeline. Relays that string to
 /// the ActiveMQ send destination.
 /// </summary>
 /// <param name="str">String to send to send destination</param>
 /// <param name="e">Pipeline Envelope</param>
 protected override void Receive(string str, Envelope e)
 {
     //Send a message using ActiveMQ server
     this.producer.Send(PsiMQJson.SerializeString(str, e.OriginatingTime));
 }