public static SqlServerStorage UseActiveMq(this SqlServerStorage storage, string activeMqUri, QueueStorageOptions options, params string[] queues) { if (storage == null) { throw new ArgumentNullException("storage"); } if (queues == null) { throw new ArgumentNullException("queues"); } if (queues.Length == 0) { throw new ArgumentException("No queue(s) specified for RabbitMQ provider.", "queues"); } if (string.IsNullOrEmpty(activeMqUri)) { throw new ArgumentNullException("activeMqUri is null"); } if (options == null) { options = new QueueStorageOptions(); } var factory = new Apache.NMS.ActiveMQ.ConnectionFactory(activeMqUri); IConnection client = factory.CreateConnection(); var provider = new QueueStorageJobQueueProvider(client, options, queues); storage.QueueProviders.Add(provider, queues); return(storage); }
static void Main(string[] args) { var connecturi = new Uri("activemq:tcp://localhost:61616"); timer = new System.Timers.Timer(1000); timer.Elapsed += timer_Elapsed; Console.WriteLine("About to connect to " + connecturi); var factory = new Apache.NMS.ActiveMQ.ConnectionFactory(connecturi); using (var connection = factory.CreateConnection()) using (var session = connection.CreateSession()) { connection.Start(); IDestination destination = session.GetTopic("perf"); using (IMessageConsumer consumer = session.CreateConsumer(destination)) { while (true) { timer.Start(); var message = consumer.Receive(); receivedMessages += 1; //Console.WriteLine(message); } } } }
static void Main(string[] args) { var connecturi = new Uri("activemq:tcp://localhost:61616"); Console.WriteLine("About to connect to " + connecturi); var factory = new Apache.NMS.ActiveMQ.ConnectionFactory(connecturi); using (var connection = factory.CreateConnection()) using (var session = connection.CreateSession()) { IDestination destination = session.GetTopic("perf"); using (IMessageProducer producer = session.CreateProducer(destination)) { int sendMessages = 0; var watch = new Stopwatch(); watch.Start(); while (true) { ITextMessage message = session.CreateTextMessage(Message); producer.Send(message); sendMessages += 1; if (watch.ElapsedMilliseconds > 1000) { Console.WriteLine("{0} messages per second sent.", sendMessages); watch.Restart(); sendMessages = 0; } } } } }
public void ConnectionThrowException() { var cf = new Apache.NMS.ActiveMQ.ConnectionFactory(); cf.BrokerUri = new Uri("tcp://localaaahost:61616"); Assert.Throws <NMSConnectionException>(() => cf.CreateConnection()); }
public void sendMsg(string msg) { String user = env("ACTIVEMQ_USER", this.user); String password = env("ACTIVEMQ_PASSWORD", this.pwd); String host = env("ACTIVEMQ_HOST", this.host); int port = Int32.Parse(env("ACTIVEMQ_PORT", this.port)); String destination = this.topic; //String body = ""; //for (int i = 0; i < size; i++) //{ // body += DATA[i % DATA.Length]; //} String brokerUri = "activemq:tcp://" + host + ":" + port; Uri uri = new Uri(brokerUri); IConnectionFactory factory = new Apache.NMS.ActiveMQ.ConnectionFactory(uri); IConnection connection = factory.CreateConnection(user, password); connection.Start(); ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge); IDestination dest = session.GetTopic(destination); IMessageProducer producer = session.CreateProducer(dest); producer.DeliveryMode = MsgDeliveryMode.NonPersistent; producer.Send(session.CreateTextMessage(msg)); connection.Close(); }
public void Initialize(bool transactionMode) { Apache.NMS.IConnectionFactory connectionFactory = new Apache.NMS.ActiveMQ.ConnectionFactory(this.configurationProvider.GetConfigurationSection <QueueingConfig>().QueueServerUri); this.queueConnection = connectionFactory.CreateConnection(); this.queueConnection.ClientId = this.connectionNameProvider.GetConnectionName(); this.queueSession = this.queueConnection.CreateSession(transactionMode ? Apache.NMS.AcknowledgementMode.Transactional : Apache.NMS.AcknowledgementMode.AutoAcknowledge); }
public void Post([FromBody] int nid) { Console.WriteLine("------------------ Received"); Uri connecturi = new Uri("activemq:tcp://es.giorgos.io:61616"); IConnectionFactory factory = new Apache.NMS.ActiveMQ.ConnectionFactory(connecturi); using (IConnection connection = factory.CreateConnection()) using (ISession session = connection.CreateSession()) { ActiveMQTopic topic = new ActiveMQTopic("VirtualTopic/ESNOTIF"); using (IMessageProducer producer = session.CreateProducer(topic)) { // Start the connection so that messages will be processed. connection.Start(); producer.DeliveryMode = MsgDeliveryMode.Persistent; ITextMessage request = session.CreateTextMessage("Notification Received"); producer.Send(request); } } }
public RemoteBroker( string hostname, int port, string uniqueId, long timeout) { this.timeout = timeout; var brokerUrl = new Uri($"tcp://{hostname}:{port}"); var connectionFactory = new Apache.NMS.ActiveMQ.ConnectionFactory(brokerUrl); connection = connectionFactory.CreateConnection(); session = connection.CreateSession(AcknowledgementMode.ClientAcknowledge); messageConsumer = session.CreateConsumer(session.GetQueue($"{uniqueId}.req")); messageProducer = session.CreateProducer(session.GetQueue($"{uniqueId}.resp")); connection.Start(); messageProducer.DeliveryMode = MsgDeliveryMode.NonPersistent; }
static void Main(string[] args) { Console.WriteLine("consumer one connected"); var logFactory = new LoggerFactory(); var logger = logFactory.CreateLogger <Program>(); Uri connecturi = new Uri("activemq:tcp://localhost:61616"); logger.LogInformation($"about to connect to {connecturi} at consumer one"); var factory = new Apache.NMS.ActiveMQ.ConnectionFactory(connecturi); var _connection = factory.CreateConnection(); _connection.Start(); logger.LogInformation($"connected to {factory.BrokerUri}"); var _session = _connection.CreateSession(); Thread.Sleep(1500); IDestination dest = _session.GetQueue("test-q1"); using (IMessageConsumer consumer = _session.CreateConsumer(dest)) { IMessage message; while ((message = consumer.Receive()) != null) { var objectMessage = message as IObjectMessage; if (objectMessage != null) { logger.LogInformation("Reciving files started at: " + DateTime.Now.ToLongDateString()); var messageData = objectMessage.Body; Console.WriteLine($"received: {messageData}"); } else { logger.LogError("File object is null"); } } } }
public IActionResult CheckAMQ(AmqModel model) { var url = model.Url; if (url != null && url.Length > 0) { try { OperatorRequestObject operatorRequestObject = new OperatorRequestObject { ShortCode = "ABC" }; Uri uri = new Uri("activemq:" + url); IConnectionFactory factory = new Apache.NMS.ActiveMQ.ConnectionFactory(uri); IConnection connection = factory.CreateConnection(); // ("admin", "admin"); connection.Start(); ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge); IDestination queueDestination = SessionUtil.GetDestination(session, "ExampleQueue"); IMessageProducer messageProducer = session.CreateProducer(queueDestination); var objMessage = session.CreateObjectMessage(operatorRequestObject); messageProducer.Send(objMessage); session.Close(); connection.Stop(); ViewData["Message"] = "All Fine even after romving Creds"; } catch (Exception ex) { ViewData["Message"] = ex.Message; } } else { ViewData["Message"] = "No URL"; } return(View("Index")); }
static async Task Main(string[] args) { var logFactory = new LoggerFactory(); var logger = logFactory.CreateLogger <Program>(); Uri connecturi = new Uri("activemq:tcp://localhost:61616"); logger.LogInformation($"about to connect to {connecturi}"); var factory = new Apache.NMS.ActiveMQ.ConnectionFactory(connecturi); var _connection = factory.CreateConnection(); _connection.Start(); logger.LogInformation($"connected to {factory.BrokerUri}"); var _session = _connection.CreateSession(); var dest = SessionUtil.GetDestination(_session, "test-q1"); using (IMessageProducer producer = _session.CreateProducer(dest)) { var cnt = 1; while (cnt <= 10) { var message = new { Id = Guid.NewGuid(), Name = $"Book {cnt}" }; var objectMessage = producer.CreateObjectMessage(System.Text.Json.JsonSerializer.Serialize(message)); Thread.Sleep(1000); producer.Send(objectMessage); cnt++; logger.LogInformation($"sent the message {message.Name}"); } } }
/// <summary> /// Opens a connection to the server. /// <para /> /// By default, it uses 3 system environment variables as parameters /// <para /> /// VHMSG_SERVER - This specifies the server to connect to. It can either be an ip address or domain name /// <para /> /// VHMSG_PORT - This specifies the port to connect to. /// <para /> /// VHMSG_SCOPE - A unique id used to distinguish messages sent by different modules using the same server. For example, if two users /// are using the same server, they would set different scopes so that they wouldn't receives each other's messages. /// </summary> public void OpenConnection() { string user = null; // ActiveMQConnection.DEFAULT_USER; string password = null; // ActiveMQConnection.DEFAULT_PASSWORD; string url = Apache.NMS.ActiveMQ.ConnectionFactory.DEFAULT_BROKER_URL; bool topic = true; //bool transacted = false; Apache.NMS.AcknowledgementMode ackMode = Apache.NMS.AcknowledgementMode.AutoAcknowledge; url = "tcp://" + m_host + ":" + m_port; //System.out.println("getConnection(): " + url + " " + m_scope ); Apache.NMS.ActiveMQ.ConnectionFactory connectionFactory = new Apache.NMS.ActiveMQ.ConnectionFactory(new Uri(url)); connection = connectionFactory.CreateConnection(user, password); //connection.setExceptionListener( this ); connection.Start(); //m_session = connection.CreateSession( transacted, ackMode ); m_session = connection.CreateSession(ackMode); if (topic) { m_destination = m_session.GetTopic(m_scope); } else { m_destination = m_session.GetQueue(m_scope); } m_Producer = m_session.CreateProducer(m_destination); m_Producer.DeliveryMode = Apache.NMS.MsgDeliveryMode.NonPersistent; // Persistent = false; // m_Producer.setDeliveryMode( DeliveryMode.NON_PERSISTENT ); }
public static void Main(string[] args) { // Example connection strings: // activemq:tcp://activemqhost:61616 // stomp:tcp://activemqhost:61613 // ems:tcp://tibcohost:7222 // msmq://localhost Uri connecturi = new Uri("activemq:tcp://es.giorgos.io:61616"); Console.WriteLine("About to connect to " + connecturi); // NOTE: ensure the nmsprovider-activemq.config file exists in the executable folder. //IConnectionFactory factory = new NMSConnectionFactory(connecturi); IConnectionFactory factory = new Apache.NMS.ActiveMQ.ConnectionFactory(connecturi); using (IConnection connection = factory.CreateConnection()) using (ISession session = connection.CreateSession()) { // Examples for getting a destination: // // Hard coded destinations: // IDestination destination = session.GetQueue("FOO.BAR"); // Debug.Assert(destination is IQueue); // IDestination destination = session.GetTopic("FOO.BAR"); // Debug.Assert(destination is ITopic); // // Embedded destination type in the name: // IDestination destination = SessionUtil.GetDestination(session, "queue://FOO.BAR"); // Debug.Assert(destination is IQueue); // IDestination destination = SessionUtil.GetDestination(session, "topic://FOO.BAR"); // Debug.Assert(destination is ITopic); // // Defaults to queue if type is not specified: // IDestination destination = SessionUtil.GetDestination(session, "FOO.BAR"); // Debug.Assert(destination is IQueue); // // .NET 3.5 Supports Extension methods for a simplified syntax: // IDestination destination = session.GetDestination("queue://FOO.BAR"); // Debug.Assert(destination is IQueue); // IDestination destination = session.GetDestination("topic://FOO.BAR"); // Debug.Assert(destination is ITopic); //IDestination destination = SessionUtil.GetDestination(session, "queue://Consumer.esb.VirtualTopic.es-data"); //ActiveMQQueue topic = new ActiveMQQueue("Consumer.ERIC.VirtualTopic.ESDATA"); ActiveMQTopic topic = new ActiveMQTopic("VirtualTopic/ESDATA"); Console.WriteLine("Using destination: " + topic); // Create a consumer and producer using (IMessageConsumer consumer = session.CreateConsumer(topic)) //using(IMessageProducer producer = session.CreateProducer(destination)) { // Start the connection so that messages will be processed. connection.Start(); //producer.DeliveryMode = MsgDeliveryMode.Persistent; //producer.RequestTimeout = receiveTimeout; consumer.Listener += new MessageListener(OnMessage); /* * // Send a message * ITextMessage request = session.CreateTextMessage("Hello World!"); * request.NMSCorrelationID = "abc"; * request.Properties["NMSXGroupID"] = "cheese"; * request.Properties["myHeader"] = "Cheddar"; * * producer.Send(request); */ while (true) { // Wait for the message semaphore.WaitOne((int)receiveTimeout.TotalMilliseconds, true); if (message == null) { Console.WriteLine("No message received!"); } else { IBytesMessage bmsg = message as IBytesMessage; Console.WriteLine("Received message with ID: " + bmsg.NMSMessageId); Console.WriteLine("Received message with text: " + System.Text.Encoding.UTF8.GetString(bmsg.Content)); } } } } }