我有一个单例范围的bean,如下所示:
public class MyImpl implements MyInterface {
private HashMap<String, String> config = new HashMap<>();
private void load(String check) {
if ("abc".equalsIgnoreCase(check)) {
config.put("key", "val");
}
else {
config.put("key", "val_else");
}
}
@Override
public HashMap<String, String> getConfig(String check) {
load(check);
return config;
}
}
然后在其他类中,我注入MyImpl并尝试使用如下配置:
@Service
public class Service {
@Inject
MyInterface impl;
public doJob(String check){
HashMap<String, String> config = impl.getConfig(check);
String myValue= config.get("key");
//some other code
}
}
如果我有100秒的请求/秒,并且检查的值对于某些请求是 abc 而对于其他请求是其他 ,我还会在 myValue 中有不同的价值吗?我试图概括代码,因为我无法在这里分享确切的代码。我的问题是我们可以根据请求修改singleton bean的属性吗?