Causado por: java.net.SocketException: Software causado a anulação da conexão: erro de gravação do soquete [fechado]

3

Estou executando o JSP no Oracle 11g, o Weblogic 10.3.4. Eu tenho 2 servidores gerenciados e um servidor admin oracle instalado.

Estou encontrando um erro onde, intermitentemente, o arquivo de log dos 2 servidores gerenciados e do servidor admin mostrará java.net.SocketException: o software causou a interrupção da conexão: erro de gravação do soquete . O aplicativo pode ser executado por dois dias sem mostrar esse erro ou pode aparecer algumas vezes em um dia. A carga do servidor é semelhante a todos os dias.

Quando esse erro for encontrado, o servidor simplesmente parará de aceitar conexões e não poderá acessar o aplicativo. Mesmo se eu tentar acessar o aplicativo por meio do host local, não serei capaz de acessar as páginas JSP e um status http 503 será mostrado, mas, em seguida, poderei acessar a página HTML estática. Não poderei acessar a página do console de administração do Oracle 11g Weblogic. Quando dou uma olhada no log do servidor admin, ele mostra que os servidores gerenciados estão desconectados do servidor admin e vice-versa.

Magicamente, o aplicativo é capaz de recuperar por conta própria e o aplicativo pode acessar novamente ou eu preciso reiniciar o servidor, pois a reinicialização do serviço do aplicativo não funciona.

As conexões FTP às quais o aplicativo está conectado também estão fechadas.

Eu sou capaz de fazer ping para telnet para a porta do servidor. O log de eventos não parece estar deixando nenhuma informação. Fizemos o wireshark para ver o tráfego de pacotes e parece que a porta do aplicativo está enviando um pacote RST, ACK para o balanceador de carga.

Qualquer ajuda será muito apreciada. Se você precisar de mais informações, fique à vontade para me perguntar.

Rastreio de Exceções

A-000000 > < [Erro] GetPageContentTag: erro de liberação do pageContext, exceção em doEndTag {java.net.SocketException: o software causou a anulação da conexão: erro de gravação do soquete} >                                                                                                                                                                                                                                                                                                                                                                                           

    
por jrishere 13.12.2012 / 14:57

2 respostas

0

Esta questão é respondida no StackOverflow aqui .

Basicamente, indica um problema de rede.

    
por 16.11.2014 / 00:52
-1

Há algo no lado do servidor que está criando uma comunicação de soquete incorreta e pode estar se manifestando de forma intermitente porque deve ser invocado de tempos em tempos, mas não presuma nada e solucione o problema.

Remova todo o código personalizado do Weblogic, veja se o problema ainda está lá, se não estiver, então você não precisa de nenhum Service Pack Weblogic. Sua próxima etapa é reunir todo o código customizado, colocar em seu IDE do Eclipse, colocar alguns pontos de interrupção em locais suspeitos (procurar por snippets de código que estejam criando Sockets ou chamar APIs que possam fazer isso) e configurar os argumentos da JVM do Servidor Gerenciado ( Ambiente > Servidor > YourManagedServer > guia 'Início remoto') com isto: -Xdebug -Xrunjdwp: transport = dt_socket, endereço = 1044, servidor = y, suspender = n

Agora, inicie o WebSonic AdminServer e aguarde até que o problema se manifeste, ele deve abrir a interface DEBUG no Eclipse. Depuração feliz:)

Mais detalhes aqui: link

* Obviamente, você não está fazendo isso em seu ambiente PROD (somente se puder jogar com ele durante o fim de semana após o horário comercial), então tenha cuidado.

    
por 13.12.2012 / 17:02