aop によってコントローラに http リクエストを記録しようとしています。ただし、アスペクトコードでは、
httpServletRequest.getInputStream()
その場合、リクエスト データはメイン フローで取得できません。
そこで、リクエスト文字列を渡すコントローラーで別のパブリックメソッドを作成しました
public String processRequest(String data){...}
このメソッドは、「データ」をログに記録するためのポイントカットです。
しかし問題は、このメソッドのポイント カットが Spring で識別できないようで、このメソッドのログが記録されていないことです。これについて助けが必要です。
aop の定義は次のとおりです。
<bean id="myLogger" class="com.my.MyLogger" />
<aop:config>
<aop:aspect id="Log" ref="myLogger">
<aop:around method="log" pointcut="execution(public * com.my.controller.processRequest(..))" />
</aop:aspect>
</aop:config>