2013-04-22 85 views
1

我想将我使用Jetty 8的Java应用程序移植到Jetty 9. 使用Jetty8我能够实例化2个在不同端口上侦听的jetty“servers”,但是只有第一台服务器才会听到港口。Jetty9多个听众

// first server 
Server server1 = new Server(); 
// add http + port 80 
server1.start(); 
server1.join(); 

// second server 
Server server2 = new Server(); 
// add http + port 8080 
server2.start(); 
server2.join(); 

它似乎server2永远不会启动,我需要使用Jetty9的某种线程?

+0

随着根特权和/或码头-的setuid:http://www.eclipse.org/jetty/documentation /current/setting-port80-access.html – 2013-04-22 12:17:06

回答

1

server1.join()将阻塞,直到服务器停止!因此,在您停止server1之前,server2的代码永远不会执行。

移动server1.join()server2.join()(为末),它应该工作按预期:

// first server 
Server server1 = new Server(); 
// add http + port 80 
server1.start(); 

// second server 
Server server2 = new Server(); 
// add http + port 8080 
server2.start(); 

server1.join(); 
server2.join(); 
+1

请注意,通过重新调整server.join()调用,如果停止server1,则调用server1.join()将完成,然后server2 .join()'调用将执行并等待'server2'被停止。 – 2013-04-23 00:36:36