Действительно ли threadlocal более эффективен, чем @RequestScope? - PullRequest
0 голосов
/ 30 мая 2020

Я знаю, что в некоторые годы go threadlocal был лучше, но теперь мне интересно, был ли в последних версиях весенней загрузки (я использую 2.2.6) этот код здесь:

@Bean
@RequestScope
public MyPojo(){
    return new MyPojo();
}

Действительно эффективнее, чем:

public class MyControllerAspect{
    private static final ThreadLocal<MyPojo> pojo = new ThreadLocal<MyPojo>() {
          public MyPojo initialValue(){
               return new MyPojo();
          }
    }

  @Around("controllers()")
 public void doFilterInternal(HttpServletRequest request, HttpServletResponse servletResponse, 
    try {
      //inject mypojo and do stuff
    }finally{
        pojo.remove(); //clean resources
     }

Кажется, это почти то же самое, что уже сделал бы Spring. Мне кажется, я просто заново изобретаю колесо, может ли это быть? Или этот последний код действительно более эффективен?

...