I downloaded activemq version 5.8.0 and wrote a sample program for creating queues. I successfully sent a sample message to the queue.
After that, I tried to set the message identifier to a specific message. A message identifier can be used to retrieve a specific message. I tried to set the message id using message.setJMSMessageID("1234");.
public static void messagestoQueueu(){
Session session;
try {
ConnectionFactory connectionFactory =
new ActiveMQConnectionFactory(url);
Connection connection = connectionFactory.createConnection();
connection.start();
session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("test");
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage();
message.setJMSType("sample");
message.setJMSMessageID("1234");
message.setText("sample");
message.setJMSCorrelationID("choole");
message.setJMSMessageID("choo01");
message.setJMSReplyTo(destination);
producer.send(queue, message);
producer.send(message);
System.out.println(message.getJMSMessageID()+" "+message.getJMSCorrelationID());
connection.close();
producer.close();
session.close();
} catch (JMSException e) {
e.printStackTrace();
}
But it does not work. After setting the message id, when I print it with getJMSMessageID(), it prints random values.
How to add message id to queue message?
source
share