2016-11-24 146 views
1

所以根據this question Spring控制器是單身人士,並且每個web應用程序都有一個。對我來說沒有意義 - 如果有多個用戶連接到相同的控制器,並且其中一個用戶啓動了一些長時間運行的任務,則意味着其他人將被阻止,直到控制器被解鎖。我肯定錯過了什麼。謝謝。阻止Spring MVC控制器?

回答

1

Spring Controller s是單一範圍的bean,意味着每個Spring應用程序上下文只能存在一個。因此它不是by-nature單身人士喜歡說一些單身設計模式開發的類但美德和保證Spring框架。

您所描述的內容聽起來像是Controller的方法上發生的假想同步,只允許一個請求經過的時間不會發生,因爲您的Controller方法肯定不是​​。因此,可能會減慢請求速度的事情將會是web容器的最大請求線程(如果我在Tomcat中默認記得它的值爲100),或者網絡延遲或資源消耗延遲(即DB),就會出現這種情況。

+0

Thx爲澄清。不知何故,我得到的想法是,如果對象被多個線程使用,訪問它必須以某種方式控制。但它是有道理的,它不計算無狀態對象。 –