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] 
-------------------------------------------------------------------------

Responder a