有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

多线程中的JavaSpring请求范围bean初始化

我有一个初始化请求范围bean的配置

@Configuration
public class ConfigurationClass {

@Bean(name = "TestBean")
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public TestBean getTestBean() {
...
} 
}

以及使用上述bean的ClientClass

@Repository
public class ClientClass {
    @Resource(name ="TestBean")
    private TestBean testBean;

    public void accessRequestBeanMethod() {
        testBean.testMethod();
    }
}

处理HTTP请求的请求生成n个线程,分别调用clientClass。accessRequestBeanMethod()。Spring在每个线程中初始化一个新的TestBean实例。我对请求范围的理解是,对于HTTP请求,bean只会初始化一次,但似乎每个线程都会初始化它。我希望为请求线程中的所有派生线程实现bean的缓存。我怎样才能做到呢


共 (0) 个答案