我有一个提供嵌入式 Jetty 的应用程序 (Java)。默认情况下,我尝试获取 Jetty 服务器的端口 8080。如果端口正在使用中,我会随机尝试一个:

try { 
    socket = new ServerSocket(def); 
} catch (IOException e) { 
    socket = new ServerSocket(0); 
} 

问题是我有一个客户在8080上运行一个Tomcat。如果关闭tomcat,一切都很好。如果 Tomcat 作为服务运行,并且我的应用程序想要获取一个端口,它会获取默认端口 (8080),尽管 tomcat 正在那里监听。如果浏览 localhost:8080/test.html,我会从 Tomcat 得到一个 http 404。

所以只要 8080 端口上没有真正的请求,tomcat 似乎就在 hibernate 。

我想知道它为什么会起作用,它是如何起作用的,以及我怎样才能改变我的 java 代码来解决这个问题。

亲切的问候

请您参考如下方法:

更改 Tomcat 或 Jetty 以使用另一个端口。每个端口一个监听器。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!