我在 MVC Spring 3 设计中从 Controller->Service 有 2 层。我也有一些私人服务。现在,我的问题是,由于默认范围定义为 Singleton,它们是线程安全的吗?
这是代码的样子:
StatController.java:
// statics
@Controller
@RequestMapping("/stat")
public class StatController {
@Autowired
private StatManager statManager;
...
}
StatManager.java
public interface StatManager {
public File statExec(StatCriteria criteria) throws IOException;
}
StatManagerImpl.java
@Service("statManager")
public class StatManagerImpl implements StatManager {
private Hashtable<Long, Result> hashtableResult = null;
private void initialization() {
this.hashtableResult = null;
// ....
}
@Override
public File statExec(StatCriteria criteria) throws IOException {
this.initialization();
// HERE: processing request. need update to & get values from this.hashtableResult
this.hashtableResult = null;
}
}
如果 2 个会话 S1 和 S2 在同一时刻请求统计 => StatManagerImpl.hashtableResult 的值可以吗?
非常感谢 dsea