Spring Request scope vs java thread-local
2022-09-01 13:02:57
在高容量(每秒约50,000个请求)java web应用程序中,我正在使用ThreadLocal来执行应按请求范围执行的任务。
我可以使用Spring请求范围达到相同的效果,我想知道哪个性能更好?
在代码中,使用 ThreadLocal:
private static final ThreadLocal<SomeClass> myThreadLocal = new ThreadLocal<SomeClass>();
对于每个 http 请求设置:
myThreadLocal.set(new SomeClass());
使用弹簧请求范围:
@Component
@Scope("request")
public class SomeClass{
...
}
现在,什么将花费更多:
myThreadLocal.get();
或
SpringContext.getBean(SomeClass.class);
我想知道是否有人已经尝试过这样的基准测试?