Olá Pessoal, criei uma classe que registra um Tratador de mensagens para uma fila
public class RegistraTratadorNaFila {
public static void main(String[] args) throws NamingException, JMSException {
InitialContext ic = new InitialContext();
QueueConnectionFactory qcf = (QueueConnectionFactory)
ic.lookup("ConnectionFactory");
QueueConnection qc = qcf.createQueueConnection();
QueueSession qs = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue q = (Queue) ic.lookup("fila-teste");
QueueReceiver qr = qs.createReceiver(q);
qr.setMessageListener(new TratadorDeMensagem());
qc.start();
}
}
Depois criei uma para enviar uma mensagem para a fila
public class EnviaMensagemParaFila {
public static void main(String[] args) throws NamingException, JMSException {
InitialContext ic = new InitialContext();
QueueConnectionFactory qcf = (QueueConnectionFactory)
ic.lookup("ConnectionFactory");
QueueConnection qc = qcf.createQueueConnection();
QueueSession qs = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
TextMessage tm = qs.createTextMessage();
tm.setText("Mensagem de texto para uma Queue");
Queue q = (Queue) ic.lookup("fila-teste");
QueueSender queueSender = qs.createSender(q);
queueSender.send(tm);
}
}
Executoo JBoss e a classe de Registro e, em seguida a de envio de mensagem. Ocorre que a de registro que deveria ficar "rodando", ela para de executar e quandoi vou executar o cliente recebo a mensagem
14:35:26,568 WARN [SimpleConnectionManager] A problem has been detected with the connection to remote client 5c4o73r-wjlscm-g87kelfc-1-g87kepks-4, jmsClientID=b-4tqek78g-1-cflek78g-mcsljw-r37o4c5. It is possible the client has exited without closing its connection(s) or the network has failed. All associated connection resources will be cleaned up.
Estou usando o JBoss 5.1