停止听一个端口

时间:2010-06-28 05:50:50

标签: java ssl websphere port

我有一个接受特定端口上的SSL连接的应用程序。当我从Websphere管理控制台停止应用程序然后再次启动它时,我得到一个异常,抱怨该端口仍在使用中。我需要完全关闭并重新启动Websphere以使应用程序再次运行。

在Java中停止侦听端口的正确方法是什么?

4 个答案:

答案 0 :(得分:2)

我不确定它是如何在Java中完成的,但关闭套接字(ServerSocket上的.close()?)将关闭端口。尽管如此,许多操作系统在关闭它后不会让你重复使用同一个端口大约30秒,以防止新连接读取旧消息。

答案 1 :(得分:2)

创建一个上下文侦听器并在web.xml中注册它。然后,您可以在contextDestroyed()来电中关闭所有打开的套接字。

有关详细信息,请参阅此处

http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/cweb_sctxl.html

答案 2 :(得分:1)

只需关闭套接字句柄,例如yourSocket.close()This example可能有帮助。

答案 3 :(得分:0)

ServerSocket ss = new ServerSocket();
ss.setReuseAddress(true);
ss.bind(port);