Boa noite, Galera!!!
Sou novo aqui no forúm e espero estar postando meu tópico na categoria correta!!!
Há algum tempo estou com problemas em uma aplicação no serviço que roda sobre o JBOSS, como sou iniciante em Java resolvi pedir um Help
aqui no forúm.
A aplicação trata-se de um digestor-xml que trabalha de acordo com os schemas da TISS especificados pela ANS (Agência Nacional de Saúde). Ocorre que
de modo intermitente este digestor para de “funcionar”. O digestor trabalha da seguinte maneira:
Existe um aplicativo web de consultório que consome os web services (TISS) providos através do JBOSS, que acoplado a este digestor processa cada transação aplicando
regras de negócio e importando as informações enviadas para o nosso sistema de gestão, após isso ele gera um XML de retorno para o aplicativo de consultório que exibe o resultado final para o usuário.
Nas últimas semanas em conjunto com um analista da empresa que desenvolveu este digestor fiquei monitorando seu comportamento, e começamos a adicionar várias linhas de log para entendermos onde parava o processo no momento do suposto travamento, foi ai que encontramos um problema com a classe de conexão que utilizava um recurso chamado synchronized, que conforme nosso entendimento fazia com que a classe que estava sincronizada fosse utilizada em fila.
Após analisarmos resolvemos retirar este recurso para ver como a aplicação iria se portar, então ao invés de sincronizar a cada nova transação a aplicação criava uma nova instância que passei a monitorar através do oracle, para saber se a aplicação não iria abrir muitas sessões no banco de dados, com a utilização do recurso synchronized quando monitorava as sessões de banco que vinham do servidor que armazena está aplicação o número máximo de sessões que se alternava chegava a 15, sem o recurso passou em alguns casos a abrir até 60 sessões o que para nós está ok, já que o nosso banco de dados está configurado para abrir até 4mil sessões.
Após a alteração na classe de conexão ficamos 3 dias sem nenhum travamento, foi ai que no quarto dia observamos que o número de sessões do banco de dados que vinham do servidor onde estava hospedada a aplicação começou a crescer, crescer e crescer… por algum motivo diferente dos três primeiros dias o oracle não estava conseguindo gerenciar as sessões encerrando as que não estavam sendo utilizadas… e desde então temos este problema que ocorre de forma intermitente.
Após descrever o cenário gostaria de saber neste caso quem deve controlar as sessões o oracle ou o JBOSS, e ainda como posso controlar essas sessões através do JBOSS existe algum arquivo de configuração??? Alguém já passou por algum problema parecido???
Galera desde Já Agradeço!!!