1

アスペクトを備えたSpringWebアプリで@RequestMappgingアノテーションを使用するメソッドを(ロギングの目的で)アドバイスしようとしています。これが私のアスペクトクラスです:

@Aspect
public class InboundSpringPerfLoggerAspect extends AbstractInboundPerfLoggerAspect {

@Around(value = "execution(* *(..)) && @annotation(requestMapping)" , argNames = "pjp, requestMapping")
public Object doPerfLoggingForOperation(final ProceedingJoinPoint pjp, final RequestMapping requestMapping) throws Throwable {
    return doPerfLogging(pjp, LOGGER_NAME);
}

私のXMLサーブレット構成(MVCコンテキスト)ファイルは次のとおりです。

<aop:aspectj-autoproxy/>

<!-- Logging aspect for inbound rest calls -->
<bean id="inboundServicePerfLoggerAspect" class="common.logging.aspect.InboundSpringPerfLoggerAspect"/>

<context:annotation-config />

<context:component-scan base-package="web.configuration" />
<context:component-scan base-package="web.controller" />
<context:component-scan base-package="web..service" />

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<bean name="xmlViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver">
    <property name="order" value="1" />
</bean>

</beans>

ただし、DEBUGモードで起動すると、Springからのログに同じメッセージが表示されます。

DEBUG [org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping] Rejected bean name 'inboundServicePerfLoggerAspect': no URL paths identified

そしてもちろん、コントローラークラスは適切にアドバイスされていません。それらは正常に機能しましたが、SpringプロキシAOPは発生しません。

問題はどこだ?

ありがとう

4

0 に答える 0