Spring AOP и аспекты безопасности потоков для автосвязанного bean-компонента HTTPServletRequest

Я использую Spring 3 AOP, и у меня есть аспект, требующий доступа к HttpServletRequest. Это выглядит примерно так:

@Aspect
public class MyAspect {

    @Autowired
    private HttpServletRequest httpServletRequest;

    public void init() {
        // Do something once...
    }

    @Before("my pointcut here...")
    private void myMethod() {
        // I need the httpServletRequest...
    }

    @After("my pointcut here...")
    private void myOtherMethod() {
        // I need the httpServletRequest...
    }
}

И настроено так:

<bean id="myAspect" class="com.some.package.MyAspect" init-method="init" />

Вызывается ли метод init только один раз для контейнера IoC, даже если это аспект, и является ли поток httpServletRequest безопасным? Если это не так, как лучше всего получить его во время выполнения совета и сделать его потокобезопасным? Если это вообще возможно, я предпочитаю не использовать локальный поток.

9
задан 10 May 2012 в 20:50
поделиться