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.