import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory; 

public class Program {

        public static final String BROKERURI = "tcp://127.0.0.1:61616";
        public static final String TOPIC = "TEST";
        
        public static final int HIGH = 7;
        public static final int ABOVELOW = 3;

        public static void main(String[] args) throws Exception {
                Program program = new Program();
                program.startListening();
                program.sendMessage();
        }

        public void sendMessage() throws JMSException {
                
                ConnectionFactory factory = new 
ActiveMQConnectionFactory(BROKERURI);
                Connection connection = factory.createConnection();
                connection.start();

                Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
                Destination destination = session.createQueue(TOPIC);
                MessageProducer producer = session.createProducer(destination);

                for (int l = 0; l < 10; l++) {
                        if (l % 2 == 0) {
                                producer.setPriority(HIGH);
                        } else {
                                producer.setPriority(ABOVELOW);
                        }
                        String text = String.format("message%s priority: %s",
l,producer.getPriority());
                        producer.send(session.createTextMessage(text));
                }
                session.close();
                connection.close();
        }

        public void startListening() throws JMSException {

                ConnectionFactory factory = new 
ActiveMQConnectionFactory(BROKERURI);
                Connection connection = factory.createConnection();
                connection.start();

                Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
                Destination destination = session.createQueue(TOPIC);
                MessageConsumer consumer = session.createConsumer(destination);
                consumer.setMessageListener(new MessageListener() {
                        public void onMessage(Message msg) {
                                TextMessage message = (TextMessage) msg;
                                try {
                                        System.out.println(message.getText());
                                } catch (JMSException ex) {
                                        ex.printStackTrace();
                                }
                                try {
                                        Thread.sleep(100);
                                } catch (InterruptedException ex) {
                                        ex.printStackTrace();
                                }
                        }
                });

        }

}
----------------------
java it is work
but C# it is not work
----------------------
 using Apache.NMS;
    using Apache.NMS.ActiveMQ;
    using System;
    using System.Threading;
    class Program {
        private const string BLORKURI = "tcp://127.0.0.1:61616";
        private const string TOPIC = "TEST"; 

        static void Main(string[] args) {
            Program program = new Program();
            program.startListening();
            program.sendMessage();
            Console.Read();
        }
        public void sendMessage() {
            IConnectionFactory factory = new ConnectionFactory(BLORKURI);
            IConnection connection = factory.CreateConnection();
            connection.Start();

            ISession session =
connection.CreateSession(AcknowledgementMode.AutoAcknowledge);
            IDestination destination = session.GetQueue(TOPIC);
            IMessageProducer producer = session.CreateProducer(destination);

            for (int l = 1; l <= 10; l++) {
                if (l % 2 == 0) { 
                    producer.Priority = Apache.NMS.MsgPriority.High;
                } else {
                    producer.Priority = Apache.NMS.MsgPriority.AboveLow; 
                }
                string text = string.Format("message{0} priority: {1}", l,
producer.Priority);
                producer.Send(session.CreateTextMessage(text));
            }
            session.Close();
            connection.Close();
        }
        public void startListening() {
            IConnectionFactory factory = new ConnectionFactory(BLORKURI);
            IConnection connection = factory.CreateConnection();
            connection.Start();

            ISession session =
connection.CreateSession(AcknowledgementMode.AutoAcknowledge);
            IDestination destination = session.GetQueue(TOPIC);
            IMessageConsumer consumer = session.CreateConsumer(destination);

            consumer.Listener += new MessageListener(handleMessage);

        }
        protected virtual void handleMessage(Apache.NMS.IMessage message) {
            ITextMessage msg = message as ITextMessage;
            Console.WriteLine(msg.Text);
            Thread.Sleep(1000);
        } 
    }
 



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Message-Priority-test-tp4723158.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Reply via email to