2013-04-22 111 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