Un certain délai peut s'écouler sous Linux avant que les ports TCP soient libérés après le redémarrage d'un serveur WebSphere Application Server dans les cas de figure ci-dessous.
Le système d'exploitation peut mettre plus de 3 minutes à libérer le port. Dès que la machine JVM reçoit le signal d'arrêt, les informations sont transmises au système d'exploitation dans le but de supprimer tous les ports d'écoute.
Le système d'exploitation se charge de nettoyer tous les ports utilisés.
Le message suivant peut s'afficher dans le fichier
SystemOut.log lorsque la commande
startServer est lancée juste après l'arrêt du processus serveur.
[6/26/11 4:41:59:647 EDT] 00000018 TCPPort E TCPC0003E: TCP
L'initialisation du canal TCP TCP_2 n'a pas abouti. La liaison de socket n'a pas abouti pour localhost et le port 9083. Il est possible que le port soit déjà utilisé.
Une fois le port libéré par le système d'exploitation, WebSphere Application Server peut établir une liaison au port. Le message suivant peut s'afficher au bout de quelques minutes :
[6/26/11 4:44:04:677 EDT] 00000018 TCPChannel A TCPC0001I: Le canal TCP TCP_2 écoute sur localhost, port 9083.
Il n'existe pas de solution à cette limitation. Vous pouvez cependant essayer d'ajuster la valeur de délai en vous connectant au système d'exploitation Linux en tant qu'utilisateur
root.
Une fois connecté, ajoutez l'entrée suivante au fichier
sysctl.conf, qui est généralement disponible dans le répertoire
etc.
net.ipv4.tcp_fin_timeout = 30
L'ajout d'une valeur de délai dans le fichier
sysctl.conf ne résout pas le problème. Cependant, le système d'exploitation est planifié pour nettoyer les ports dans les délais indiqués. Dans ce cas, le nettoyage s'effectue dans un délai de 30 secondes.