esta ocorrendo um erro aleatório, onde a mensagem nao é encontrada na fila, porém existe. Eu envio 5 mensagens, e as 5 ficam lá na fila( verifico no jboss-console), então começo e executar um a um o codigo para consumir, na terceira vez por exemplo o consumer.receive() retorna null, mas vou verificar na fila e existem mensagens lá.
Estou usando jboss5.1
[code]
// codigo que envia
MensagemJMS jms = new MensagemJMS();
ChaveValor[] cv = new ChaveValor[1];
cv[0] = new ChaveValor();
cv[0].setChave(“cpf”);
cv[0].setValor(“1111”);
jms.enviarMensagem(cliente, Cliente.class, “queue/minhaqueue”, cv);
//codigo da chamada
cpf = “1111”;
ObjectMessage om = jms.consumirMensagem(“queue/minhaqueue”, “cpf=’” + cpf + “’”);
//codigo que consome
public ObjectMessage consumirMensagem(String lookup, String messageSelector) {
Session session = null;
Connection connection = null;
ObjectMessage om = null;
try {
ConnectionFactory factory = (QueueConnectionFactory) getInitialContext().lookup("/ConnectionFactory");
connection = factory.createConnection();
session = connection.createSession(false, QueueSession.AUTO_ACKNOWLEDGE);
Destination destination = (Destination) getInitialContext().lookup(lookup);
MessageConsumer consumer = session.createConsumer(destination, messageSelector);
connection.start();
Message message = consumer.receive(6000);//mudei aqui mas nada aconteceu
om = (ObjectMessage) message;
System.out.println("teste jms");
} catch (Exception e) {[/code]