在下列任一情况下,您可能会在重新启动 WebSphere® Application
Server 之后等待较长时间以使 Linux 操作系统释放 TCP 端口。
- 在停止 Java™ 进程之后,立即启动服务器
- 重新启动服务器
- 以调试方式重新启动服务器
操作系统可能要花费 3 分钟以上的时间来释放端口。只要 JVM 接收到停止信号,就会将信息传递至操作系统以删除所有侦听端口。
操作系统负责清除使用中的端口。
在停止服务器进程之后立即发出
startServer 命令时,以下消息可能会出现在
SystemOut.log 文件中。
[6/26/11 4:41:59:647 EDT] 00000018 TCPPort E TCPC0003E: TCP
通道 TCP_2 初始化失败。针对本地主机和端口 9083 的套接字绑定失败。此端口可能已在使用中。
操作系统释放端口之后,WebSphere Application Server 就可以绑定至该端口。您可能会在几分钟之后看到以下消息:
[6/26/11 4:44:04:677 EDT] 00000018 TCPChannel A TCPC0001I: TCP 通道 TCP_2 正在侦听本地主机端口 9083。
没有适用于此限制的解决方案。但是,您可以通过以
root 用户身份登录 Linux 操作系统来尝试微调超时值。
登录之后,在
sysctl.conf 文件(通常位于
etc 目录中)内添加以下条目。
net.ipv4.tcp_fin_timeout = 30
在
sysctl.conf 文件中添加超时条目不会解决该问题。但是,会调度操作系统以在指定时段内清除端口。在这种情况下,30 秒发生一次清除。