JMS - QueueConnection executa start() e depois fecha conexão

0 respostas
E

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

Criado 19 de abril de 2010
Respostas 0
Participantes 1