2017-06-06 22 views
0

使用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的問題,甚至是一個春天的問題?

謝謝。

+0

您是否需要異步執行REST? https://spring.io/guides/gs/async-method/ –

+0

我需要呼叫是同步的,因爲我需要立即響應。我試圖一次運行多個數據上傳並在一個場景中響應,另一個場景試圖一次抓取多組數據以供演示。 – javafreak

+0

簡單的Spring/Widlfy/Spring MVC似乎同時處理多個請求爲了我。 –

回答

0

這是我的日誌記錄問題,我看到同時處理事務。經過進一步分析,所有工作都按設計進行。