0

我在 spring 中定义了以下 AOP 配置:

<aop:config>
   <aop:aspect ref="aopAdvice">
        <aop:around
            pointcut="execution(* com.bis.client.auto.ClientHandler.sendCanonical(..))"
            method="methodDuration"/>

    </aop:aspect>
    <aop:aspect ref="aopAdvice">
        <aop:around
            pointcut="execution(public * com.bis.client.auto.MessageHandlerImpl.messageArrived(..))"
            method="methodDuration"/>
    </aop:aspect>
</aop:config>

我基本上希望在调用 sendCanonical 方法或 message 方法时调用 methodDuration 方法。

问题是建议永远不会被调用,即使我 100% 确定这些方法会被调用。

有任何想法吗?

4

1 回答 1

0

确保您已定义。还要确保所有其他配置与 springsource 文档中定义的相同。

如果上述情况正常,则将切入点更改为“执行(公共 * *(..))”。这削减了每个类的每个公共方法。通过这样做,应该为应用程序中的每个公共方法调用 AOP 建议。如果这工作正常,这意味着您的配置是正确的。如果这不起作用,请确保您的配置不正确。所以修改配置并尝试这一步。

一旦上述步骤工作正常,然后慢慢地一个接一个地修改切入点,例如首先添加类名(这应该剪切该类中的每个公共方法)然后添加方法名等。

祝你好运!!!!

于 2012-11-15T11:03:50.653 回答