2009-07-17 106 views
0

我有一個在Tomcat中運行的軸web服務。客戶端正在進行連接,但不會在HTTP 1.1中發送Connection:close header,這意味着默認設置爲Keep-Alive。不幸的是,客戶端似乎遇到了問題,當它發生異常時,客戶端沒有關閉連接。由於這些客戶端在批量作業中發送大量流量,這很快耗盡了我所有的連接。一旦特定的Handler(擴展BasicHandler)完成,我想強制我的Web服務關閉每個連接。Axis Web Service保持活躍

我該怎麼做?即如何在調用BasicHandler#invoke()後強制服務器關閉連接?

回答

2

在你的tomcat的server.xml文件中,找到HTTP連接器定義(這是有協議的元素= 「HTTP/1.1」),並添加的KeepAliveTimeout屬性,如下詳細說明:

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

你將不得不嘗試不同的值,看看哪些給你你想要的行爲。請查看其他設置,其中一些可能對您有用。

請注意,這是Tomcat 6文檔,因此並非所有選項都可以在tomcat 5上運行,因此請檢查tomcat 5文檔的相同部分。

+0

我知道這個選項。問題在於它是服務器廣泛的。我不想惹我的JSP和servlet保持活動超時。只是這一個Web服務。 – jcb 2009-07-17 15:29:03