【问题标题】:How does spring boot application handle multiple concurrent request? [duplicate]Spring Boot 应用程序如何处理多个并发请求? [复制]
【发布时间】:2021-10-05 11:57:07
【问题描述】:

我在我的 Spring Boot 应用程序中编写了一个 bean,它有一个类变量。这让我对 Spring Boot 如何处理多个并发请求产生了疑问。假设我们有多个用户使用我们的应用程序,但是当应用程序部署在服务器上时,只创建了一个类的实例。那么该类如何处理多个请求呢?假设用户有数百万个并发请求?

考虑下面的例子:

public class SampleBean  {
  private Integer dummyVariable = null;
  public void dummyFunction() {
    //some computation on dummyVarible
    dummyVariable += 10;
    //dummy code
    dummyVariable = null;
  } 
} 

所以当user1 第一次进入dummyFunction 并且值为空时。但是随后对其进行了一些计算并且它的值发生了变化,但是在从函数user2返回之前也进入dummyFunction,那么dummyVariable的值将为null或者它将被user1更改?

另外,有人可以分享一些文章来理解在 sprint 启动时处理并发请求的整个概念吗?

【问题讨论】:

    标签: java spring spring-boot class spring-mvc


    【解决方案1】:

    有几个scopes for beans。 IIRC 单例范围是默认范围。因此,如果您不更改此所有请求,请共享您的 bean 中使用的类变量。

    如果你想改变它,你可以使用请求或会话范围。

    另一种方法是将状态置于应用程序之外(键值存储等)

    【讨论】:

      猜你喜欢
      • 2018-04-04
      • 2018-02-28
      • 2019-08-01
      • 2018-02-23
      • 2017-01-31
      • 2019-06-20
      • 2021-11-22
      • 1970-01-01
      相关资源
      最近更新 更多