示例#1
0
        static void Main(string[] args)
        {
            Tracer.Trace = new NLogAdapter();

            var brokerUri = "failover:(amqp://127.0.0.1:5672,amqp://127.0.0.1:5673)" +
                            "?failover.initialReconnectDelay=1000" +
                            "&failover.reconnectDelay=1000" +
                            "&failover.maxReconnectAttempts=10";
            var connectionFactory = new NmsConnectionFactory(brokerUri);
            var simpleMessageListenerContainer = new SimpleMessageListenerContainer
            {
                ConnectionFactory = connectionFactory,
                DestinationName   = DestinationName,
                MessageListener   = new MessageListener()
            };

            // start listener
            simpleMessageListenerContainer.AfterPropertiesSet();

            var cachingConnectionFactory = new CachingConnectionFactory(connectionFactory);
            var nmsTemplate = new NmsTemplate(cachingConnectionFactory)
            {
                DefaultDestinationName = DestinationName,
            };

            while (true)
            {
                Logger.Info("Enter your message.");
                var text = Console.ReadLine();
                nmsTemplate.SendWithDelegate(session => session.CreateTextMessage(text));
            }
        }
示例#2
0
 /// <summary>
 /// Sends message to update the job status.
 /// </summary>
 /// <param name="ticketId">The ticket identifier.</param>
 /// <param name="jobStatus">The job status.</param>
 public void UpdateJobStatus(string ticketId, TicketStatus jobStatus)
 {
     NmsTemplate.SendWithDelegate(JobInfoDestination,
                                  delegate(ISession session)
     {
         var msg = session.CreateMessage();
         msg.Properties.SetString(MessageKeys.TicketMessageKey, ticketId);
         msg.Properties.SetInt(MessageKeys.JobStatusMessageKey, (int)jobStatus);
         return(msg);
     });
 }
示例#3
0
 public void Publish(string ticker, double price)
 {
     NmsTemplate.SendWithDelegate("APP.STOCK.MARKETDATA",
                                  delegate(ISession session)
     {
         IMapMessage message = session.CreateMapMessage();
         message.Body.SetString("TICKER", ticker);
         message.Body.SetDouble("PRICE", price);
         message.NMSPriority = MsgPriority.Normal;
         return(message);
     });
 }
示例#4
0
 /// <summary>
 /// Sends message to record the GameShare replay video.
 /// </summary>
 /// <param name="ticketId">The ticket identifier.</param>
 /// <param name="casino">The casino name.</param>
 /// <param name="gameTitle">The game title.</param>
 /// <param name="gamePlayedAt">The game played-at time (milliseconds since epoch)</param>
 /// <param name="videoBytes">game share video as a byte array</param>
 public void UploadVideo(string ticketId, string casino, string gameTitle, long gamePlayedAt, byte[] videoBytes)
 {
     NmsTemplate.SendWithDelegate(VideoUploadDestination,
                                  delegate(ISession session)
     {
         var msg = session.CreateBytesMessage();
         msg.Properties.SetString(MessageKeys.TicketMessageKey, ticketId);
         msg.Properties.SetString(MessageKeys.CasinoNameMessageKey, casino);
         msg.Properties.SetString(MessageKeys.GameTitleMessageKey, gameTitle);
         msg.Properties.SetLong(MessageKeys.GamePlayTimeMessageKey, gamePlayedAt);
         msg.WriteBytes(videoBytes);
         return(msg);
     });
 }