Set an AspectJ advise for static method

懵懂的女人 提交于 2019-11-30 19:50:41

Actually there is no solutions to intercept static methods using auto proxy in spring framework. You should use the LWT AspectJ solution.

In a nutshell you should use the same annotations but with some additional configuration.

1) add to the spring context file next line:

<context:load-time-weaver/>

(may be in your situation it is not necessary)

2) unfortunately you should also add META-INF/aop.xml. Example:

<weaver>
    <include within="com.example.ClassA"/> <!-- path to concrete class -->
    <include within="com.log.* "/> <!—- path to aspects package -->
</weaver>
<aspects>
    <aspect name="com.log.AspectA"/>
</aspects>

3) when starting JVM the argument

-javaagent:${PATH_TO_LIB }/aspectjweaver.jar

should be added.

So this solution is rather laborious.

For more information read 7.8.4 chapter here http://docs.spring.io/spring/docs/3.0.0.RC2/reference/html/ch07s08.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!