JMS Shutdown

1 resposta
mcampelo

Alo Pessoal,

deixa eu rodar um setContext() para vocês entenderem meu problema.

Possuo duas aplicações Java. A primeira roda no Weblogic. A segunda é uma aplicação StandAlone. A primeira aplicação posta mensagens em uma fila JMS que são consumidas pela aplicação StandAlone.

O problema é que se eu dou um restart no Weblogic (onde está minha primeira aplicação e a fila JMS), o consumidor não recebe mais mensagem nenhuma. É necessário restartar o consumidor.

Qual a maneira apropriada de tratar esta situação?

Muito obrigado

1 Resposta

mcampelo
qcon = qconFactory.createQueueConnection();
qcon.setExceptionListener(new JMSExceptionListener());

Implementação da JMSExceptionListener:

import javax.jms.ExceptionListener;
import javax.jms.JMSException;

public class JMSExceptionListener implements ExceptionListener {
public void onException(JMSException exception) {
System.out.println("JMSException: "+exception.getMessage());
}
}

Quando derrubo o Weblogic, o método onException é chamado:

JMSException: weblogic.rjvm.PeerGoneEvent
[source=weblogic.rjvm.RJVMImpl@5f1832 - id: '407572756683
0002040S:10.26.2.135:[7001,7001,7002,7002,7001,7002,-1]:telefonica:myserver’
connect time: ‘Mon Fe
b 02 12:48:18 GMT-03:00 2004’] - id: ‘4075727566830002040S:10.26.2.135:
[7001,7001,7002,7002,7001,7
002,-1]:telefonica:myserver’, reason: ‘weblogic.rjvm.PeerGoneException: ;
nested exception is:
java.io.EOFException’

Criado 30 de janeiro de 2004
Ultima resposta 2 de fev. de 2004
Respostas 1
Participantes 1