2012-03-12 53 views
3

我最近被要求將CXF配置爲與舊版XFire服務相同的參數。CXF在不更改http.maxConnections的情況下增加連接池大小

其中一個參數是Keep-Alive: timeout=60, max=20。 但是,我做了一些研究,看來CXF使用引擎蓋下的JVM HttpURLConnection對象。 From what I see,已經有一些嘗試爲它提供配置,但是現在沒有提供任何配置。

我不希望更改http.maxConnections參數,因爲它只會影響所有服務器而不是CXF Web服務。

,我發現這個interresting forum thread談論它但以理庫普說:

BTW:有一種方法來控制連接池,但它是一個 SERVER端的事情。基本上,如果服務器發回的報頭:

Keep-Alive: timeout=60, max=5

然後Java客戶端將尊重這些值。現在在CXF中, 您可能需要編寫一個攔截器來設置這些值。 我只是做了一個提交到trunk的擴展http配置到 包括一個設置來控制這個從配置文件。

我可以寫一個攔截器來修改頭文件。然而我的問題是:服務器如何應對這種變化?如果服務器預計最多5個連接並且客戶端執行更多操作,那麼這不會成爲問題嗎?

回答

2

根據我讀here,保活參數可以通過系統屬性或直接在HTTP標頭控制器:

對HTTP的支持保持活躍用戶是透明的。但是,它可以被 通過系統屬性控制 http.keepAlive,和 http.maxConnections,以及通過HTTP/1.1中指定請求和 響應頭