2016-11-24 118 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为澄清。不知何故,我得到的想法是,如果对象被多个线程使用,访问它必须以某种方式控制。但它是有道理的,它不计算无状态对象。 –