public static void Send(string message, string queue) { ConnectionFactory connectionFactory = new ConnectionFactory(URI); NmsTemplate template = new NmsTemplate(connectionFactory); template.ConvertAndSend(queue, message); }
public void ConvertAndSend() { Assert.NotNull(connectionFactory); Assert.NotNull(nmsTemplate); string msgText = "Hello World"; //Use with destination set at runtime nmsTemplate.ConvertAndSend("APP.TESTING", msgText); AssertRecievedHelloWorldMessage(msgText, nmsTemplate.ReceiveAndConvert("APP.TESTING")); //Now using default destination set via property nmsTemplate.DefaultDestinationName = "APP.TESTING"; nmsTemplate.ConvertAndSend(msgText); AssertRecievedHelloWorldMessage(msgText, nmsTemplate.ReceiveAndConvert()); }
public void HandleMessage(IMessage message) { if (message == null) { throw new ArgumentException("message must not be null"); } NmsTemplate.ConvertAndSend(message); }
public void SendMarketData() { while (true) { IDictionary data = GenerateFakeMarketData(); log.Info("Sending market data."); NmsTemplate.ConvertAndSend(data); log.Info("Sleeping " + sleepTimeInSeconds + " seconds before sending more market data."); Thread.Sleep(sleepTimeInSeconds); } }
/// <summary> /// Send log message to message queue. /// </summary> protected override void Append(LoggingEvent loggingEvent) { string text = RenderLoggingEvent(loggingEvent); string message = text.Replace("(null)", ""); if (!MessageValidation(message)) { return; } bool QueueFailureCountThresholdReached = (QueueFailureCount >= m_QueueFailureCountThreshold); bool QueueRestoreTimeThresholdReached; if (!QueueFailureCountThresholdReached) { QueueRestoreTimeThresholdReached = false; } else { TimeSpan t = System.DateTime.Now - LastQueueFailureTime; QueueRestoreTimeThresholdReached = t.TotalSeconds > m_QueueRestoreTimeThreshold; } if (!QueueFailureCountThresholdReached || QueueRestoreTimeThresholdReached) { if (QueueRestoreTimeThresholdReached) { // Queue Restore Time Threshold is reached. // It's time to clear the failure count and direct message to queue. QueueFailureCount = 0; log.Debug("Queue Restore Time Threshold (" + m_QueueRestoreTimeThreshold.ToString() + ") reached. Message is directed to queue."); } try { ConnectionFactory connectionFactory = new ConnectionFactory(m_QueueURI); NmsTemplate template = new NmsTemplate(connectionFactory); template.ConvertAndSend(m_QueueName, message); QueueFailureCount = 0; } catch (Exception e) { log.Fatal("An error occurred while sending message to queue.", e); QueueHelper.RecordOriginalMessage(message); QueueFailureCount++; LastQueueFailureTime = DateTime.Now; } } else { log.Debug("Queue Failure Count Threshold (" + m_QueueFailureCountThreshold.ToString() + ") reached. Message is directed to local file. "); QueueHelper.RecordOriginalMessage(message); } }
public void SendAndAsyncReceive() { SimpleMessageListenerContainer container = (SimpleMessageListenerContainer)applicationContext["SimpleMessageListenerContainer"]; SimpleMessageListener listener = applicationContext["SimpleMessageListener"] as SimpleMessageListener; Assert.IsNotNull(container); Assert.IsNotNull(listener); NmsTemplate nmsTemplate = (NmsTemplate)applicationContext["MessageTemplate"] as NmsTemplate; Assert.IsNotNull(nmsTemplate); Assert.AreEqual(0, listener.MessageCount); nmsTemplate.ConvertAndSend("Hello World 1"); int waitInMillis = 2000; Thread.Sleep(waitInMillis); Assert.AreEqual(1, listener.MessageCount); container.Stop(); Console.WriteLine("container stopped."); nmsTemplate.ConvertAndSend("Hello World 2"); Thread.Sleep(waitInMillis); Assert.AreEqual(1, listener.MessageCount); container.Start(); Console.WriteLine("container started."); Thread.Sleep(waitInMillis); Assert.AreEqual(2, listener.MessageCount); container.Shutdown(); Thread.Sleep(waitInMillis); }
public void AppLogs() { ConnectionFactory connectionFactory = new ConnectionFactory(URI); NmsTemplate template = new NmsTemplate(connectionFactory); string eventLogName = "Application"; EventLog eventLog = new EventLog(); eventLog.Log = eventLogName; foreach (EventLogEntry log in eventLog.Entries) { template.ConvertAndSend(DESTINATION, log.Message); } }