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" />
これはアスペクトであり、httpServletRequestスレッドは安全ですが、initメソッドはIoCコンテナごとに1回だけ呼び出されますか?そうでない場合は、アドバイスの実行中にそれを取得し、スレッドセーフにするための最良の方法は何ですか?可能であれば、ローカルスレッドを使用しないことをお勧めします。