Ola.
Eu tenho uma aplicacao que usa JMS e Weblogic e as vezes (mas nao
sempre... parece aleatorio) um dos usuarios para de receber mensagens de um
Topic do qual ele eh Subscriber. O maior problema eh que nos nao conseguimos
reproduzir o problema, ele simplesmente surge de vez em quando sem que
saibamos o que o pode esta causando. Isso torna o debug muito dificil.
Uma parte da nossa aplicacao eh um pequeno chat. Quando um dos nossos
usuarios nos ligou com o problema eu o fiz usar o chat para tentar entender
melhor o problema. O que eu vi foi o seguinte:
- Eu pedi que o usuario "A" comecasse um chat com usuario "B".
- Usario "A" consegue mandar mensagens para "B" e "B" as recebe.
- Usuario "A" nao recebe mensagens enviadas por "B"
- Entao eu pedi que "B" comecasse um chat com um outro usuario "C". Eles
puderam se comunicar sem problemas.
O nosso chat funciona da seguinte maneira: Nos temos um TOPIC registrado
no servidor. Cada usuario eh um subscriber deste topico. Quando alguem manda
uma mensagem, a mensagem nao eh enviada diretamente para os outros. Ela eh
enviada para o TOPIC e todos os subscribers deveriam recebe-la.
Do cenario descrito acima eu chego aas seguintes conclusoes:
1) A topico estah funcionando no servidor (pois B e C conseguem usar o
chat).
2) O usuario A (o que nao "ouve") nao perdeu a conexao com o weblogic, jah
que suas mensagens sao recebidas tanto por B como por C.
Entao me parece que, de alguma maneira, o usuario A foi "expulso" da lista
de subscribers.
A minha pergunta eh:
1) Voces acham que utilizar um ExceptionListener eh a melhor maneira de
tentar entender o problema. Eu implementei um ExceptionListener e toda vez
que um TopicConnection eh criado eu coloco o meu listener nela. A ideia eh
que toda vez que o listener seja notificado sobre um excecao ele coloque a
mensagem da mesma num arquivo de log. Na proxima vez que um usuario reportar
esse problema eu posso olhar no log e ver se tem algo lah que possa me
ajudar.
2) Alguem sugere um mecanismo semelhante que eu possa colocar no lado do
servidor? Esse uso do ExceptionListener ocorre no lado do cliente, certo?
Obrigado,
Marcelo
_________________________________________________________
Oi! Voc� quer um iG-mail gratuito?
Ent�o clique aqui: http://registro.ig.com.br/
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------