Es posible que experimente un período prolongado de espera para que los sistemas operativos Linux liberen los puertos TCP después de reiniciar un WebSphere Application
Server, en cualquiera de los escenarios siguientes.
- Iniciar el servidor inmediatamente después de detener el proceso Java™
- Reiniciar el servidor
- Reiniciar el servidor en modalidad de depuración
El sistema operativo pueden tardar más de 3 minutos en liberar el puerto. Tan pronto como la JVM recibe la señala de parada, se pasa información al sistema operativo para eliminar todos los puertos de escucha.
El sistema operativo es responsable de limpiar los puertos que están en uso.
Es posible que aparezca el mensaje siguiente en el archivo
SystemOut.log cuando se emite el mandato
startServer inmediatamente después de detener el proceso de servidor.
[6/26/11 4:41:59:647 EDT] 00000018 TCPPort E TCPC0003E: La inicialización del canal TCP
TCP_2 ha fallado. El enlace de socket ha fallado para localhost y para el puerto 9083. Es posible que el puerto esté siendo utilizado.
Una vez que el sistema operativo ha liberado el puerto,
WebSphere Application Server puede enlazarse al puerto. Es posible que vea el mensaje siguiente al cabo de unos minutos:
[6/26/11 4:44:04:677 EDT] 00000018 TCPChannel A TCPC0001I: El canal TCP TCP_2 está escuchando en un puerto de localhost 9083.
No existe ninguna solución para esta limitación. No obstante, puede intentar ajustar el valor de tiempo de espera iniciando sesión en el sistema operativo Linux como usuario
root.
Una vez que haya iniciado sesión, añada la entrada siguiente en el archivo
sysctl.conf, que suele estar disponible en el directorio
etc.
net.ipv4.tcp_fin_timeout = 30
Añadir una entrada de tiempo de espera en el archivo
sysctl.conf no soluciona el problema. No obstante, el sistema operativo está programado para limpiar los puertos dentro de la duración de tiempo especificada. En este caso, la limpieza tiene lugar en 30 segundos.