使用Spring和Wildfly,我注意到我的休息服務一次只能處理一個請求。我嘗試了幾種不同的配置,試圖允許多個請求從同一臺客戶端機器異步運行。我假設我錯過了Wildfly io子系統中的一個配置,但我的Google搜索結果並不富有成效。Red Hat上的Wildfly 10.1阻止網絡請求
起初我以爲這是一個瀏覽器問題,因爲我使用的是Chrome,IE和Firefox。然後我創建了一個多線程的Java客戶端來發送多個請求,但仍然遇到了這個問題。我創建了一個多線程的Perl腳本來發送多個請求,同樣的問題......其餘的服務一次只能處理一個請求,其餘的都是排隊的。
從我的測試中,它會顯示軟件正在發送適當的請求。我已經使用WireShark並查看所有請求離開軟件並嘗試訪問服務器。
我已經嘗試從組合中刪除負載均衡器和Apache等因素,進一步強調它必須是蜻蜓點。在我的本地測試中,我直接指向Wildfly並看到相同的行爲。
沒有爲Rest或XML處理引入任何類型的附加框架,我想在X個請求中同時調用同一個服務。
作爲參考,該網絡體系結構的整體是 客戶端 - >(SSL)BIGIP LB - >(SSL)的Apache - >(AJP/SSL)Wildfly
我已經更新了Wildfly IO子系統增加工作線程的數量,並增加了任務的最大線程:
{
"outcome" => "success",
"result" => {
"buffer-pool" => {"default" => {
"buffer-size" => undefined,
"buffers-per-slice" => undefined,
"direct-buffers" => undefined
}},
"worker" => {"default" => {
"io-threads" => 50,
"stack-size" => 0L,
"task-keepalive" => 60,
"task-max-threads" => 300
}}
}
}
任何人都可以提出,如果問題是一個Wildfly配置問題,或者這是一個Java servlet的問題,甚至是一個春天的問題?
謝謝。
您是否需要異步執行REST? https://spring.io/guides/gs/async-method/ –
我需要呼叫是同步的,因爲我需要立即響應。我試圖一次運行多個數據上傳並在一個場景中響應,另一個場景試圖一次抓取多組數據以供演示。 – javafreak
簡單的Spring/Widlfy/Spring MVC似乎同時處理多個請求爲了我。 –