Beispiel #1
0
        public MessageSender(String broker, String topicName)
        {
            //Create connection
                try
                {
                    sonicSender = new SonicCommunicator(topicName, broker);
                    cf = sonicSender.GetConnectionFactory();
                    conn = cf.createConnection();
                    session = (Session)conn.createSession(false, Sonic.Jms.SessionMode.AUTO_ACKNOWLEDGE);
                }
                catch (JMSException jmse)
                {
                    throw new Exception("Unable to establish connection to MQ." + jmse.Message + " / " + jmse.InnerException);
                }

                Console.WriteLine("Create Session: " + session.ToString());

                //create the topic
                try
                {
                    topic = session.createTopic(topicName);
                    publisher = session.createProducer(topic);
                    tempTopic = session.createTemporaryTopic();
                    subscriber = session.createConsumer(tempTopic);
                    conn.start();
                }
                catch (JMSException jmse)
                {
                    throw new Exception("Unable to create topic." + jmse.Message + " / " + jmse.InnerException);
                }
        }
Beispiel #2
0
        public static Message Consume(Connection connection, string queueName)
        {
            _session = (Session)connection.createSession(false, SessionMode.AUTO_ACKNOWLEDGE);
            var receiveQueue = _session.createQueue(queueName);
            var consumer = _session.createConsumer(receiveQueue);

            var response = consumer.receive();

            return response;
        }
 public void Close()
 {
     if (_connection == null)
         return;
     _connection.stop();
     _connection.close();
     if(_session!=null)_session.close();
     if(_messageProducer!=null)_messageProducer.close();
     if(_messageConsumer!=null)_messageConsumer.close();
     _connection = null;
 }
        public virtual void EnsureOpenConnection()
        {
            if (_connection == null)
                {
                    _connection = GetConnectionFactory().createConnection();
                    _session = (Sonic.Jms.Ext.Session)_connection.createSession(true, Sonic.Jms.SessionMode.AUTO_ACKNOWLEDGE);
                    _topic = _session.createTopic(_topicName);
                    _replier = _session.createProducer(null);

                    _connection.setExceptionListener(this);
                    _connection.start();
                }
        }
        private void EnsureOpenConnection()
        {
            if (_connection != null)
                return;
            _connection = GetNewConnectionFactory().createConnection();
            _session = (Sonic.Jms.Ext.Session)_connection.createSession(true, SessionMode.AUTO_ACKNOWLEDGE);
            _topic = _session.createTopic(_topicName);
            _messageProducer = _session.createProducer(null);
            _messageConsumer = _session.createConsumer(_topic);

            _connection.setExceptionListener(this);
            _connection.start();
        }