2009-11-24 74 views
1

我已經使用import javax.xml.ws.Endpoint和一個使用Service.create和service.getPort連接到它的客戶端創建了一個Web Service。 現在,只有少量使用的連接...已發佈的端點是否具有有限數量的連接? [Java 1.6.0_16]

但是,當一切都運行完美 - 如果我推出可以說1000個併發連接(客戶端)到我的Web服務我得到下面的「有時」

com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect 
com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect 
... then it works ... 
... works again ... 
com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect 
com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect 
... works ... 
... works ... 

(你明白了)

但是這不一致...所以我想知道...有沒有限制? (我正在使用JDK提供的輕量級HTTP服務器)

+0

Web服務器可以處理有限數量的併發連接。通常這個限制非常高。檢查輕量級HTTP服務器的限制,看看它是否可配置。我從來沒有使用過這臺服務器。 – 2009-11-24 02:53:43

+0

封裝的操作系統是什麼? – Jherico 2009-11-24 03:09:27

回答

1

沒有硬性限制,但連接數目肯定是有限的。根據您的硬件和操作系統,限制可以從數百個同時連接到數千個不等。

當您連接到端點時,內置的HTTPServer將接受連接並將其交給處理程序。如果傳入請求速度過快,HTTPServer必須將這些連接放入隊列中創建積壓。積壓是有限的。達到此限制時,新連接將被拒絕,並且您會在客戶端看到錯誤。

你可以做這樣的事情增加了積壓,

server = HttpServer.create(address, 128); 

這可能會延遲錯誤,但你最終會得到它,如果你發送的請求比服務器可以更快地消化它。

相關問題