Meu consumidor não está seguindo a ordem de prioridade que o produtor está enviando, não entendo o porque
Já foi adicionado a linha no activemq.xml
<policyEntry queue=">" prioritizedMessages="true"/>
Já foi reiniciado o activemq para conhecer as novas configurações.
Classe Consumidor:
package br.com.caelum.log;
import java.util.Scanner;
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.Session;
import javax.jms.TextMessage;
import javax.naming.InitialContext;
public class TesteConsumidorFila {
public static void main(String[] args) throws Exception {
InitialContext context = new InitialContext();
ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");
Connection connection = factory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination fila = (Destination) context.lookup("LOG");
MessageConsumer consumer = session.createConsumer(fila);
consumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
TextMessage textMessage = (TextMessage)message;
try{
System.out.println(textMessage.getText());
} catch(JMSException e){
e.printStackTrace();
}
}
});
new Scanner(System.in).nextLine();
session.close();
connection.close();
context.close();
}
}
Classe Produtor
package br.com.caelum.log;
import java.util.Scanner;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.naming.InitialContext;
public class TesteProdutorFila {
public static void main(String[] args) throws Exception {
InitialContext context = new InitialContext();
ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");
Connection connection = factory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination fila = (Destination) context.lookup("LOG");
MessageProducer producer = session.createProducer(fila);
Message message = session.createTextMessage("DEBUG");
producer.send(message,DeliveryMode.NON_PERSISTENT,0,80000);
session.close();
connection.close();
context.close();
}
}
Não sei como resolver, ou o que estou fazendo de errado!