项目中实际问题
一、spring容器私有变量
使用jemeter混压测试,同时请求/aa、/bb、/cc三个接口会发现部分请求返回值错乱比如返回bb3,总结多方法改变私有变量,会使得私有变量在使用时紊乱,哪怕是同一线程
package com.wx.diff.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @program: learning2022
* @description:
* @author: Mr.wx
* @create: 2022-05-21 23:40
**/
@RestController
@RequestMapping("/DiffController")
public class DiffController {
private String flag;
@RequestMapping("/aa")
public String aa(){
flag = "1";
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "aa"+flag;
}
@RequestMapping("/bb")
public String bb(){
flag = "2";
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "bb"+flag;
}
@RequestMapping("/cc")
public String cc(){
flag = "3";
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "cc"+flag;
}
}